系统环境:CentOs 7.9
nginx下载地址:nginx: download
前期准备
安装依赖程序包:
1.先安装gcc-c++编译器
yum install -y gcc-c++
yum install -y openssl openssl-devel
2.再安装pcre包
yum install -y pcre pcre-devel
3.再安装zlib包
yum install -y zlib zlib-devel
下面进行nginx的安装
下载并解压
这里下载目前最新版,1.21.4版本的nginx
下载后,放到指定目录,解压,如:/mnt/nginx/
解压,得到 nginx-1.21.4目录:
cd /mnt/nginx/
tar -zxvf nginx-1.21.4.tar.gz
进入nginx解压后目录:
cd nginx-1.21.4
编译 make&make install
./configure
make
make install
安装后nginx目录在 /usr/local/nginx
先启动nginx测试下
cd /usr/local/nginx/sbin
./nginx
发现端口已经在使用了,nginx默认是80端口
修改端口:
cd /usr/local/nginx/conf
vi nginx.conf
找到server节点下的listen,修改端口为9999,并添加代理设置:
nginx验证配置文件是否正确:
cd /usr/local/nginx/sbin
# 验证默认配置文件
./nginx -t
# 验证指定配置文件
./nginx -t /usr/local/nginx/nginx.conf
再次启动并验证:
./nginx
# 重新启动
./nginx -s reload
验证访问成功,搞定!
nginx代理地址匹配规则:
Nginx路径匹配符号
= 表示精确匹配
^~ 表示uri以某个常规字符串开头,大多情况下用来匹配url路径,nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到(注意是空格)。
~ 正则匹配(区分大小写)
~* 正则匹配(不区分大小写)
!~ 区分大小写不匹配
!~* 不区分大小写不匹配
/ 任何请求都会匹配
符号优先级
首先匹配 =,其次匹配^~, 其次是按文件中顺序的正则匹配,最后是交给 / 通用匹配。当有匹配成功时候,停止匹配,按当前匹配规则处理请求。