CentOS7安装Nginx-1.16
程序员文章站
2024-02-22 11:47:04
...
CentOS7安装Nginx-1.16
Nginx是一个高性能的Web和反向代理服务器,它具备以下特性:
- 作为Web服务器:Nginx使用更少的资源,支持更多并发连接,能够支持高达5万个并发连接数响应;
- 作为负载均衡服务器:内部直接支持Rails和PHP,可以作为 HTTP代理服务器对外进行服务。使用C语言编写,在系统资源开销或CPU使用效率都比Perlbal好得多;
- 作为邮件代理服务器
- 配置简洁、启动快、能够长时间运行,且在不间断的情况下进行软件版本升级;
但更多时候,Nginx用作于网关,因为它具备网关的功能:
- 反向代理
- 负载均衡
- 动态路由
- 请求过滤
1. windows安装
在windows中使用nignx非常简单,只需下载解压即可。
Nginx的目录结构
- conf:配置目录;
- contrib:第三方依赖;
- html:默认的静态资源目录,类似于tomcat的webapps;
- logs:日志目录;
- nginx.exe:启动程序,建议使用cmd进行启动;
在Nginx目录下,CMD窗口下,使用Nginx操作命令:
- 启动:
start nginx.exe
- 停止:
nginx.exe -s stop
- 重新加载:
nginx.exe -s reload
反向代理配置
什么是反向代理?
- 代理:通过客户机的配置,实现让一台服务器代理客户机,客户的所有请求都交给代理服务器处理。
- 反向代理:用一台服务器,代理真实服务器,用户访问时,不再是访问真实服务器,而是代理服务器。
如何在Nginx配置代理服务器的信息呢?在Nginx安装包,conf目录下的nginx.conf配置文件,添加如下配置:
server {
listen 80; # 监听端口
server_name manage.chan.com; # 监听的域名
# 头信息,相当于请求中的头信息
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
location / { # 请求映射规则
proxy_pass http://127.0.0.1:8888; # 目标服务器地址
proxy_connect_timeout 600; # Nginx与目标服务器连接超时时间
proxy_read_timeout 600; # 连接成功后,目标服务器响应时间
}
}
上面的配置说明:Nginx监听到域名manage.chan.com,会将这类域名的请求转发到http://127.0.0.1:8888这个地址。注意location后的/
,这个符号表示拦截域名下的所有请求,如果你想拦截某个或者某类请求时,可以修改它。比如:/api/
表示拦截http://127.0.0.1:8888/api/下的所有请求。
2. 配置监听多个域名
如果Nginx反向代理多个服务器,在配置文件中配置多个server
配置,并配置相应的代理信息即可。
3. CentOS7安装
- nginx依赖包安装;
yum -y install zlib zlib-devel openssl openssl--devel pcre pcre-devel
- 解压安装包;
tar -zxvf nginx-1.16.1.tar.gz
- **添加fastdfs-nginx-module模块到nginx;**存在这步骤是因为,我在安装FastDFS的时候安装的Nginx,如果大家只是安装Nginx,可自行搜索是否需要(道个歉)。
./configure --prefix=/usr/local/nginx/ --add-module=/usr/local/fastdfs-nginx-module-1.22/src
- 编译、安装nginx;
make
make install
- 检查是否安装成功;
cd /usr/local/nginx/sbin/
./nginx -V
- 设置开机自启动;参考nginx官方文档
vim /etc/init.d/nginx
# 修改以下内容:注意跟自己的nginx路径一致
nginx="/usr/local/nginx/sbin/nginx"
NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"
# 保存退出
chmod 755 /etc/init.d/nginx
# 测试使用脚本启动、停止nginx
/etc/init.d/nginx stop
# 如果OK,加入chkconfig管理列表,并设置开机启动
chkconfig --add /etc/init.d/nginx
chkconfig nginx on
# nginx管理命令
service nginx start
service nginx stop
service nginx restart
nginx安装成功。