下载nginx-1.18.0.tar.gz,下载地址 http://nginx.org/en/download.html
1、安装各种依赖
#gcc安装,nginx源码编译需要,可用gcc -v命令检查是否已经安装过,若已安装,则跳过
[root@localhost ~]# yum install -y gcc-c++
#PCRE pcre-devel 安装,nginx 的 http 模块使用 pcre 来解析正则表达式
[root@localhost ~]# yum install -y pcre pcre-devel
#zlib安装,nginx 使用zlib对http包的内容进行gzip
[root@localhost ~]# yum install -y zlib zlib-devel
#OpenSSL安装,安全套接字层密码库,nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http)
[root@localhost ~]# yum install -y openssl openssl-devel
2、wget下载或者手动下载拷贝进去
[root@localhost ~]# mkdir -p /opt/gsdss/env
[root@localhost ~]# cd /opt/gsdss/env
[root@gsdss env]# wget -c https://nginx.org/download/nginx-1.18.0.tar.gz
3、解压
[root@gsdss env]# tar -zxvf nginx-1.18.0.tar.gz
4、进行configure配置,使用默认配置
[root@gsdss env]# cd nginx-1.18.0
[root@gsdss nginx-1.18.0]# ./configure
或启用ngx_stream_core_module模块 和 echo模块
./configure --with-stream --add-module=/usr/local/nginx-1.18.0/echo-nginx-module-0.61
5、编译及安装
[root@gsdss nginx-1.18.0]# make && make install
6、查找安装路径
[root@gsdss nginx-1.18.0]# whereis nginx
nginx: /usr/local/nginx
7、查看nginx版本
[root@gsdss nginx-1.18.0]# cd /usr/local/nginx/
[root@gsdss nginx]# ./sbin/nginx -v
nginx version: nginx/1.18.0
8、启动、停止、重启nginx
[root@gsdss nginx]# ./sbin/nginx #启动
[root@gsdss nginx]# ./sbin/nginx -s stop #停止,直接查找nginx进程id再使用kill命令强制杀掉进程
[root@gsdss nginx]# ./sbin/nginx -s quit #退出停止,等待nginx进程处理完任务再进行停止
[root@gsdss nginx]# ./sbin/nginx -s reload #重新加载配置文件,修改nginx.conf后使用该命令,新配置即可生效
#重启nginx,建议先停止,再启动
[root@gsdss nginx]# ./sbin/nginx -s stop
[root@gsdss nginx]# ./sbin/nginx
#增加nginx虚拟主机配置文件(conf.d)
include /etc/nginx/conf.d/*.conf;
9、开机自启动
#在rc.local增加启动代码即可
vi /etc/rc.local
#增加一行 /usr/local/nginx/sbin/nginx,增加后保存
#设置执行权限
cd /etc
chmod 755 rc.local
10、nginx配置
server {
listen 80; # 监听端口
server_name 172.18.8.118; # 监听访问IP,此处可换成域名
location /api/ { # 接口代理访问
proxy_pass http://172.18.8.111:8888/; # API网关服务地址,注意:此处结尾有/
# host 修改为真实的域名和端口
proxy_set_header Host $http_host;
# 客户端真实ip
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# 客户端真实协议(http/https)
proxy_set_header X-Forwarded-Proto $scheme;
}
location / { # 前端别名访问
alias /home/service/ui/dist/; # 注意:此处结尾有/
allow all;
autoindex on;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
11、echo配置
server {
listen 8765;
server_name localhost;
location = /echo {
default_type text/html;
set $foo ‘hello world‘; #自定义变量
echo $request_uri; #显示nginx全局变量的url内容
echo </br>$foo; #显示自定义变量的内容
}
location = /echo2 {
default_type text/html;
set $foo ‘echo 2 hello world‘; #自定义变量
echo $request_uri; #显示nginx全局变量的url内容
echo </br>$foo; #显示自定义变量的内容
}
location = /echo3 {
default_type text/html;
set $foo ‘echo 3 hello world‘; #自定义变量
echo $request_uri; #显示nginx全局变量的url内容
echo </br>$foo; #显示自定义变量的内容
}
}
#echo访问
http://172.18.8.104:8765/echo