Nginx介绍
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
Nginx架构(多worker进程)
官方网站
其他中文网站:https://www.nginx.org.cn
文档地址:http://nginx.org/en/docs/
安装Nginx
安装文档:http://nginx.org/en/linux_packages.html#RHEL-CentOS
当前以CentOS7环境为例,安装官方网站指定的方式安装。
先安装一些前置需求:
sudo yum install yum-utils
添加Nginx的源:
sudo vim /etc/yum.repos.d/nginx.repo
# 填入内容:
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
启用Nginx源:
sudo yum-config-manager --enable nginx-mainline
安装Nginx
sudo yum install nginx
启动并测试Nginx
现在可以启动Nginx了,然后可以访问默认的网页
# 查看帮助
nginx -h
# 启动
sudo nginx
# 查看nginx进程,可以看到有多个进程,nginx是多进程架构
ps -ef|grep nginx
# 重启
nginx -s reload
# 停止
nginx -s stop
可以看到默认的首页
常见错误
获取 GPG 密钥失败:[Errno 14] curl#35 - "Peer reports incompatible or unsupported protocol version."
从消息看这个错误是curl获取PGP key的时候报错,不支持协议号,地址(https://nginx.org/keys/nginx_signing.key
)访问是可以的,可能是curl版本过低。
解决方案是升级下curl,然后就可以了
sudo yum install curl
配置代理
默认配置文件地址:/etc/nginx/nginx.conf
默认主页目录:/usr/share/nginx/html/
目前需要配置一个第三方服务器的代理服务:
在http节点下面添加:
http {
server {
location /booking/ {
proxy_pass https://xxx/bookingusb/v4/;
}
location /shopping/ {
proxy_pass https://xxx/shoppingengine/v4/;
}
}
}
注意,如果加到文件末尾位置没有效果,可以尝试:
- 更换监听端口listen 8000
- 去掉默认server配置:
include /etc/nginx/conf.d/*.conf;
或者直接在默认配置中添加 - 添加到
include /etc/nginx/conf.d/*.conf;
这行之前
然后就可以测试访问了。
其他工具
在线nginx配置工具:https://www.nginxedit.cn/