nginx
目录
一、nginx与apache的区别
nginx:轻量级,占用系统资源少,高性能抗并发,请求是异步非阻塞的,不会为每隔请求分配CPU和内存资源,多个连接可以对应一个进程,高度模块化设计,处理模式相对简单
apache:采用阻塞+多进程/多线程的方式处理请求,更稳定,bug少,模块更丰富,一个连接对应一个进程,每个进程或线程都会分配CPU和内存资源,并发过大会榨干服务器资源
二、nginx优点
- 跨平台,配置简单
- 非阻塞高并发连接,可处理2-3万并发连接数,官方数据能支持5万并发
- 内存消耗小
- 开源,成本低廉
- 稳定性高,宕机概率非常小
- 内置健康检查功能(能保证请求发送到非宕机服务器上)
三、nginx应用场景
- http服务器,做静态网页服务器
- 反向代理、负载均衡:当网站访问量高时,需要多台服务器集群做反向代理可以用nginx做反向代理,多台服务器可以平均分担负载
- 虚拟主机
- 配置安全管理
四、nginx安装
1、官网下载安装包
2、把下载下来的安装包传到Linux系统中,并解压
3、关闭防火墙和安全机制
4、安装nginx依赖环境
yum -y install pcre-devel zlib-devel openssl-devel gcc gcc-c++ make
5、创建运行用户、组
useradd -M -s /sbin/nologin nginx
6、开始配置
./configure --prefix=/usr/local/nginx? ? ? ? #指定安装路径
--user=nginx? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #指定用户
?--group=nginx? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#指定组
--with-http_stub_status_module? ? ? ? ? ? #启用状态统计模块
7、编译并安装
make -j2 && make install
8、建立软连接
9、检查、启动、重载、停止 nginx服务
10、使用systemd管理nginx
五、nginx版本的平滑升级
1、官网下载新版本安装包
2、把下载下来的安装包传到Linux系统中,并解压
3、开始配置
4、make 编译
注意这里不要make install,否则会重名
5、改名旧版本nginx可执行文件
6、复制二进制文件
7、升级
六、nginx应用配置文件
nginx配置文件所存放的路径为 /usr/local/nginx/conf/nginx.conf?
nginx配置文件分为6个块:
- 全局块:全局配置,对全局生效
- events块:配置影响 Nginx 服务器与用户的网络连接
- http块:配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置
- server块:配置虚拟主机的相关参数,一个 http 块中可以有多个 server 块
- location块:用于配置匹配的 uri?
- upstream块:配置后端服务器具体地址,负载均衡配置不可或缺的部分
1、增加nginx并发量
理想的nginx并发量为:worker_processes *?worker_connections(工作进程数*worker进程处理的连接数)
①先设置nginx配置文件
vim? /usr/local/nginx/conf/nginx.conf
保存退出后需要重启nginx
②再在Linux系统中设置最大打开文件数
2、设置长连接
vim? /usr/local/nginx/conf/nginx.conf
3、网页跳转
vim? /usr/local/nginx/conf/nginx.conf
root根目录:root路径 + location路径
alias别名目录:alias路径替代location路径
4、web服务监听配置
vim? /usr/local/nginx/conf/nginx.conf
5、访问状态统计配置
此功能基于?HTTP_STUB_STATUS 模块实现。查看nginx应用可用的模块列表在nginx安装包的auto目录下的options文件中。设置为YES为默认打开,NO为默认关闭。关闭模块用--without,开启模块用--with。
设置状态统计:
vim? /usr/local/nginx/conf/nginx.conf? ? ? ?找到location模块
6、访问控制(账号密码)
①yum安装httpd-tools工具
②创建userlist文件
③更改userlist文件的属主为nginx
④更改userlist文件的权限为仅root用户和文件属主用户nginx可读
⑤修改配置文件
vim? /usr/local/nginx/conf/nginx.conf? ? ? ?找到location模块
⑥nginx -t 检查配置文件语法
⑦重启nginx
⑧测试
7、限制客户端的访问控制
访问控制规则:
deny IP/IP 段:拒绝某个 IP 或 IP 段的客户端访问。
allow IP/IP 段:允许某个 IP 或 IP 段的客户端访问。
规则从上往下执行,如匹配则停止,不再往下匹配。
①vim? /usr/local/nginx/conf/nginx.conf? ? ? ?找到location模块
②重启nginx
③nginx -t检查配置文件语法
④使用curl命令测试
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!