Nginx安装配置

Nginx介绍

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

Nginx架构(多worker进程)

chapter-2-1

官方网站

官网:http://nginx.org/

其他中文网站: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

可以看到默认的首页

image-20210616143550954

常见错误

获取 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/;
        }
    }
}

注意,如果加到文件末尾位置没有效果,可以尝试:

  1. 更换监听端口listen 8000
  2. 去掉默认server配置:include /etc/nginx/conf.d/*.conf; 或者直接在默认配置中添加
  3. 添加到include /etc/nginx/conf.d/*.conf;这行之前

然后就可以测试访问了。

其他工具

在线nginx配置工具:https://www.nginxedit.cn/

nginx教程:https://www.w3cschool.cn/nginx/ycn81k97.html

上一篇
下一篇