首页 > 程序开发 > 综合编程 > 其他综合 >

Centos7上部署nginx

2017-04-01

Centos7上部署nginx:nginx是一个高性能的网页服务器,它能反向代理HTTP, HTTPS, SMTP, POP3, IMAP的协议链接,以及一个负载均衡器和一个HTTP缓存。这里简单介绍在Centos7上部署nginx。

Centos7上部署nginx:nginx是一个高性能的网页服务器,它能反向代理HTTP, HTTPS, SMTP, POP3, IMAP的协议链接,以及一个负载均衡器和一个HTTP缓存。这里简单介绍在Centos7上部署nginx。

安装nginx

使用root执行如下命令,将会成功安装nginx,并设置为开机启动:

yum install epel-release
yum install nginx
systemctl start nginx
systemctl enable nginx

我们可以通过如下命令验证nginx已经成功运行:

systemctl status nginx

配置反向代理

配置反向代理的需求:
- 客户端和nginx之间通过https连接
- nginx和服务器端之间通过http连接

配置过程:
- 证书:准备私钥文件private-key.pem,自签名的证书文件self-cert.pem,并复制到/etc/nginx目录下,具体参考Generating a Self?Signed Certificate
- 添加nginx配置文件/etc/nginx/conf.d/tian-3000.conf,具体参考nginx反向代理配置文件
- 生效新的配置文件:

nginx -s reload

问题排查

nginx作为反向代理时,不能连接到服务器,并报错(13: Permission denied) while connecting to upstream

问题描述:nginx作为反向代理时,不能连接到服务器,报错类似:
2017/03/31 14:52:15 [crit] 14406#0: *44 connect() to 172.16.3.171:3000 failed (13: Permission denied) while connecting to upstream, client: 172.16.0.234, server: _, request: “GET / HTTP/1.1”, upstream: “http://172.16.3.171:3000/“, host: “172.16.0.234”
问题原因:SELinux禁止nginx访问Server
问题解决:修改配置文件/etc/selinux/config,将SELINUX设置为disabled,重新启动机器

文件句柄不够用

问题描述:nginx是高性能服务器,有可能需要使用大量的文件句柄
问题解决:修改配置文件/etc/systemd/system/multi-user.target.wants/nginx.service,在Service节中添加: LimitNOFILE=655350
如下命令使得配置生效:

systemctl daemon-reload
systemctl restart nginx
相关文章
最新文章
热点推荐