[关闭]
@liruiyi962464 2025-08-25T07:58:13.000000Z 字数 17300 阅读 159

Nginx安装以及配置文件

代码

linux nginx 安装

一、下载源码包

在nginx官网下载源码包。https://nginx.org/download/

二、安装依赖库

安装依赖库(如已经安装请忽略),执行以下命令

  1. yum -y install gcc pcre-devel zlib-devel openssl openssl-devel

如果不确定是否安装依赖,执行以下命令查看是否安装,执行后有输出结果代表已经安装过了。 命令中双引号" "内的内容可自行替换。

  1. yum list installed | grep "pcre-devel"

三、解压安装

  1. tar -zxvf nginx-1.20.1.tar.gz

参数说明
-x:解压
-z:用 gzip 压缩的文件操作
-v:显示所有过程
-f:使用文件名,注意,这个参数是最后一个参数,后面只能接文件名,不能再加参数。
这里只介绍当前命令用到的选项,其它可自行百度学习。

  1. cd nginx-1.20.1

源码的安装一般由3个步骤组成:配置(configure)、编译(make)、安装(make install)。
(1)先执行配置命令

  1. ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module

(2)执行编译命令

  1. make

(3)执行安装命令

  1. make install

这时候,/usr/local下就已经生成了nginx目录。
(4)查看nginx版本信息:

  1. #进入可执行目录sbin
  2. cd /usr/local/nginx/sbin/
  3. #查看nginx版本信息
  4. ./nginx -v
  5. #查看nginx版本信息、编译版本、配置参数 大写字母V
  6. ./nginx -V

四、启动nginx

1.检查配置文件中语法是否正确

  1. /usr/local/nginx/sbin/nginx -t

2.启动
进入可执行目录sbin

  1. cd /usr/local/nginx/sbin/

启动nginx

  1. #等同于/usr/local/nginx/sbin/nginx,也可使用这个命令/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
  2. ./nginx
  3. # 停止命令, 配合./nginx命令也可实现重启
  4. ./nginx -s stop
  5. # 也是停止命令,快速关闭 配合./nginx命令也可实现重启
  6. ./nginx -s quit
  7. # 重启命令,重新加载配置文件
  8. ./nginx -s reload

3.访问nginx页面
http://IP地址:端口号 ngixn默认端口号是80,可在配置文件中(在安装目录/config/nginx.conf)查看修改。如下所示,root下指的是文件在nginx根目录下的html文件夹,前端打包后dist包直接放入html即可。

  1. # 处理根路径和默认请求
  2. location / {
  3. # 重写URL规则
  4. rewrite ^/(.*)/jeecg-boot/jeecg-boot(.*)$ /$1/jeecg-boot$2 last;
  5. # 设置根目录
  6. root ./html/dist;
  7. # 默认索引文件
  8. index index.html index.htm;
  9. # 尝试查找文件,如果找不到则返回index.html
  10. try_files $uri $uri/ /index.html;
  11. }

(1)如果访问不到,请检查nginx端口是否存在,没用任何输出说明不存在。

  1. netstat -nltp | grep 80

(2)防火墙需要关闭,如果不想关闭请直接看第(3)步。

  1. #查看防火墙状态
  2. systemctl status firewalld
  3. #关闭防火墙
  4. systemctl stop firewalld
  5. #开启防火墙
  6. systemctl start firewalld

(3)如果不想关闭防火墙,则需要添加防火墙对外开放的nginx端口 。

  1. # 添加防火墙对外开放的nginx 80端口
  2. firewall-cmd --permanent --zone=public --add-port=80/tcp
  3. # 重新加载防火墙配置
  4. firewall-cmd --reload
  5. # 查看防火墙开放的所有端口,看看是否有80端口
  6. firewall-cmd --zone=public --list-ports

五、nginx其他配置

1.nginx设置开机自启,要操作的文件是/etc/rc.d/rc.local

  1. #给予执行权限
  2. chmod +x /etc/rc.d/rc.local
  3. #打开文件/etc/rc.local超链接指向了/etc/rc.d/rc.local
  4. vi /etc/rc.d/rc.local
  5. #输入i,光标移动到最后一行上,添加下面的命令(nginx启动命令)
  6. /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

在Windows系统下启动和管理Nginx的步骤如下,结合官方推荐操作及常见问题排查,确保能高效运行服务:

一、启动Nginx(windows下)

  1. 基础启动命令
    进入Nginx安装目录(如 C:\nginx),执行以下任一命令:

    • start nginx(推荐):后台静默启动,不阻塞命令行窗口。
    • nginx.exe:直接运行,但会占用当前命令行窗口,需新开窗口执行其他操作。
  2. 指定配置文件启动
    若需加载非默认配置文件,使用:

    1. start nginx -c "C:\自定义路径\配置文件.conf"
  3. 验证启动状态

    • 浏览器访问 http://localhost(默认端口80),出现欢迎页即成功。
    • 通过命令行检查进程:
      bash
      tasklist /fi "imagename eq nginx.exe"

二、停止Nginx

  1. 快速停止(不保存状态)

    1. nginx -s stop
  2. 优雅停止(完成当前请求后退出)

    1. nginx -s quit
  3. 强制终止进程(极端情况)
    若上述命令无效,通过任务管理器结束所有 nginx.exe 进程,或执行:

    1. taskkill /f /im nginx.exe

三、配置文件管理

  1. 修改配置后热重载
    无需重启服务,直接生效新配置:

    1. nginx -s reload
  2. 检查配置语法
    启动前验证配置文件正确性:

    1. nginx -t

    输出 syntax is ok 表示无语法错误。

  3. 重新打开日志文件
    日志轮转后刷新日志写入:

  1. nginx -s reopen

4.访问nginx页面
http://IP地址:端口号 ngixn默认端口号是80,可在配置文件中(在安装目录/config/nginx.conf)查看修改。如下所示,root下指的是文件在nginx根目录下的html文件夹,前端打包后dist包直接放入html即可。

  1. # 处理根路径和默认请求
  2. location / {
  3. # 重写URL规则
  4. rewrite ^/(.*)/jeecg-boot/jeecg-boot(.*)$ /$1/jeecg-boot$2 last;
  5. # 设置根目录
  6. root ./html/dist;
  7. # 默认索引文件
  8. index index.html index.htm;
  9. # 尝试查找文件,如果找不到则返回index.html
  10. try_files $uri $uri/ /index.html;
  11. }

方案一

  1. user root;
  2. worker_processes 1;
  3. #error_log logs/error.log;
  4. #error_log logs/error.log notice;
  5. #error_log logs/error.log info;
  6. #pid logs/nginx.pid;
  7. events {
  8. worker_connections 1024;
  9. }
  10. http {
  11. include mime.types;
  12. default_type application/octet-stream;
  13. sendfile on;
  14. #tcp_nopush on;
  15. #keepalive_timeout 0;
  16. keepalive_timeout 65;
  17. server_tokens off;
  18. #gzip on;
  19. upstream jeecg-boot_server{
  20. server 202.207.122.52:8080;
  21. }
  22. server {
  23. listen 13000;
  24. server_name localhost;
  25. client_max_body_size 20m;
  26. #添加头部信息
  27. proxy_set_header Cookie $http_cookie;
  28. proxy_set_header X-Forwarded-Host $host;
  29. proxy_set_header X-Forwarded-Server $host;
  30. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  31. proxy_set_header X-real-ip $remote_addr;
  32. location ~* /.+jmreport.+ {
  33. # 使用if指令和=403来拒绝访问
  34. if ($request_uri ~* "jmreport") {
  35. return 403;
  36. }
  37. }
  38. location /yunwei/ {
  39. rewrite ^/(.*)/yunwei/yunwei(.*)$ /$1/yunwei$2 last;
  40. proxy_set_header Host $Host;
  41. proxy_set_header X-Forward-For $remote_addr;
  42. proxy_pass http://jeecg-boot_server;
  43. }
  44. location / {
  45. rewrite ^/(.*)/yunwei/yunwei(.*)$ /$1/yunwei$2 last;
  46. root /home/web/deploy/yunwei;
  47. index index.html index.htm;
  48. }
  49. error_page 404 /index.html;
  50. error_page 500 502 503 504 /50x.html;
  51. location = /50x.html {
  52. root html;
  53. }
  54. }
  55. }
  1. # 定义Nginx运行的用户和用户组
  2. user root;
  3. # 设置工作进程数量,通常设置为CPU核心数
  4. worker_processes 1;
  5. # 错误日志配置(当前被注释)
  6. #error_log logs/error.log;
  7. #error_log logs/error.log notice;
  8. #error_log logs/error.log info;
  9. # PID文件位置(当前被注释)
  10. #pid logs/nginx.pid;
  11. # events块配置
  12. events {
  13. # 每个工作进程的最大连接数
  14. worker_connections 1024;
  15. }
  16. # HTTP核心配置
  17. http {
  18. # 包含MIME类型定义文件
  19. include mime.types;
  20. # 默认MIME类型,如果无法识别则使用此类型
  21. default_type application/octet-stream;
  22. # 启用高效文件传输模式
  23. sendfile on;
  24. # 减少网络报文段的数量(当前被注释)
  25. #tcp_nopush on;
  26. # 保持连接的超时时间(当前被注释)
  27. #keepalive_timeout 0;
  28. # 客户端保持连接的超时时间(秒)
  29. keepalive_timeout 65;
  30. # 关闭服务器版本信息显示,增强安全性
  31. server_tokens off;
  32. # 启用gzip压缩(当前被注释)
  33. #gzip on;
  34. # 定义上游服务器组
  35. upstream jeecg-boot_server{
  36. # 定义后端服务器(当前被注释)
  37. #server 202.207.122.51:8080 weight=5;
  38. # 定义后端服务器,权重为5
  39. server 192.168.10.167:8080 weight=5;
  40. }
  41. # 定义服务器块
  42. server {
  43. # 监听3000端口
  44. listen 3000;
  45. # 服务器名称
  46. server_name localhost;
  47. # 客户端请求最大大小限制
  48. client_max_body_size 20m;
  49. # 添加代理头部信息
  50. proxy_set_header Cookie $http_cookie;
  51. proxy_set_header X-Forwarded-Host $host;
  52. proxy_set_header X-Forwarded-Server $host;
  53. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  54. proxy_set_header X-real-ip $remote_addr;
  55. # 阻止包含"jmreport"的请求路径
  56. location ~* /.+jmreport.+ {
  57. # 使用if指令和=403来拒绝访问
  58. if ($request_uri ~* "jmreport") {
  59. return 403;
  60. }
  61. }
  62. # 处理/jeecg-boot/路径的请求
  63. location /jeecg-boot/ {
  64. # 重写URL规则
  65. rewrite ^/(.*)/jeecg-boot/jeecg-boot(.*)$ /$1/jeecg-boot$2 last;
  66. # 设置代理头部信息
  67. proxy_set_header Host $Host;
  68. proxy_set_header X-Forward-For $remote_addr;
  69. # 代理到上游服务器
  70. proxy_pass http://jeecg-boot_server;
  71. }
  72. # 处理根路径和默认请求
  73. location / {
  74. # 重写URL规则
  75. rewrite ^/(.*)/jeecg-boot/jeecg-boot(.*)$ /$1/jeecg-boot$2 last;
  76. # 设置根目录
  77. root ./html/dist;
  78. # 默认索引文件
  79. index index.html index.htm;
  80. # 尝试查找文件,如果找不到则返回index.html
  81. try_files $uri $uri/ /index.html;
  82. }
  83. # 自定义404错误页面
  84. error_page 404 /index.html;
  85. # 定义服务器错误页面
  86. error_page 500 502 503 504 /50x.html;
  87. # 50x错误页面配置
  88. location = /50x.html {
  89. root html;
  90. }
  91. }
  92. }

方案二

  1. #user nobody;
  2. worker_processes 1;
  3. #error_log logs/error.log;
  4. #error_log logs/error.log notice;
  5. #error_log logs/error.log info;
  6. #pid logs/nginx.pid;
  7. events {
  8. worker_connections 1024;
  9. }
  10. http {
  11. # ...
  12. # 设置连接超时时间为30秒
  13. fastcgi_connect_timeout 600s;
  14. # 设置请求超时时间为60秒
  15. fastcgi_send_timeout 600s;
  16. fastcgi_read_timeout 600s;
  17. proxy_send_timeout 600s;
  18. proxy_read_timeout 600s;
  19. client_body_timeout 600s;
  20. client_header_timeout 600s;
  21. include mime.types;
  22. default_type application/octet-stream;
  23. sendfile on;
  24. #tcp_nopush on;
  25. #keepalive_timeout 0;
  26. keepalive_timeout 65;
  27. server {
  28. listen 3031;
  29. server_name localhost;
  30. #添加头部信息
  31. proxy_set_header Cookie $http_cookie;
  32. proxy_set_header X-Forwarded-Host $host;
  33. proxy_set_header X-Forwarded-Server $host;
  34. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  35. proxy_set_header X-real-ip $remote_addr;
  36. client_max_body_size 500m;
  37. #添加拦截路径和代理地址
  38. location /api/ {
  39. proxy_pass http://127.0.0.1:8899/; #注意:使用代理地址时末尾记得加上斜杠"/"。
  40. }
  41. location /jeecg-boot-file {
  42. #proxy_set_header Host $Host;
  43. #proxy_set_header X-Forward-For $remote_addr;
  44. proxy_pass http://127.0.0.1:8899;
  45. }
  46. location /jeecg-boot {
  47. proxy_set_header Host $Host;
  48. proxy_set_header X-Forward-For $remote_addr;
  49. proxy_pass http://127.0.0.1:8899;
  50. }
  51. location / {
  52. root E:\\shuohuang_nginx\\shuohuang_nginx-1.20.2\\html\\dist;
  53. index index.html index.htm;
  54. }
  55. error_page 404 /index.html;
  56. error_page 500 502 503 504 /50x.html;
  57. location = /50x.html {
  58. root html;
  59. }
  60. }
  61. }
  1. # 定义Nginx运行的用户和用户组(当前被注释,默认使用nobody)
  2. #user nobody;
  3. # 设置工作进程数量,通常设置为CPU核心数
  4. worker_processes 1;
  5. # 错误日志配置(当前被注释)
  6. #error_log logs/error.log;
  7. #error_log logs/error.log notice;
  8. #error_log logs/error.log info;
  9. # PID文件位置(当前被注释)
  10. #pid logs/nginx.pid;
  11. # events块配置
  12. events {
  13. # 每个工作进程的最大连接数
  14. worker_connections 1024;
  15. }
  16. # HTTP核心配置
  17. http {
  18. # 设置各种超时时间(单位:秒)
  19. # FastCGI连接超时时间
  20. fastcgi_connect_timeout 600s;
  21. # FastCGI发送请求超时时间
  22. fastcgi_send_timeout 600s;
  23. # FastCGI读取响应超时时间
  24. fastcgi_read_timeout 600s;
  25. # 代理发送请求超时时间
  26. proxy_send_timeout 600s;
  27. # 代理读取响应超时时间
  28. proxy_read_timeout 600s;
  29. # 客户端请求体超时时间
  30. client_body_timeout 600s;
  31. # 客户端请求头超时时间
  32. client_header_timeout 600s;
  33. # 包含MIME类型定义文件
  34. include mime.types;
  35. # 默认MIME类型,如果无法识别则使用此类型
  36. default_type application/octet-stream;
  37. # 启用高效文件传输模式
  38. sendfile on;
  39. # 减少网络报文段的数量(当前被注释)
  40. #tcp_nopush on;
  41. # 保持连接的超时时间(当前被注释)
  42. #keepalive_timeout 0;
  43. # 客户端保持连接的超时时间(秒)
  44. keepalive_timeout 65;
  45. # 定义服务器块
  46. server {
  47. # 监听3031端口
  48. listen 3031;
  49. # 服务器名称
  50. server_name localhost;
  51. # 添加代理头部信息
  52. proxy_set_header Cookie $http_cookie;
  53. proxy_set_header X-Forwarded-Host $host;
  54. proxy_set_header X-Forwarded-Server $host;
  55. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  56. proxy_set_header X-real-ip $remote_addr;
  57. # 客户端请求最大大小限制(500MB)
  58. client_max_body_size 500m;
  59. # 处理/api/路径的请求
  60. location /api/ {
  61. # 代理到后端服务器(注意末尾斜杠)
  62. proxy_pass http://192.168.10.26:8899/;
  63. }
  64. # 处理/jeecg-boot-file路径的请求
  65. location /jeecg-boot-file {
  66. # 代理到本地8899端口(注释了部分头部设置)
  67. proxy_pass http://127.0.0.1:8899;
  68. }
  69. # 处理/jeecg-boot路径的请求
  70. location /jeecg-boot {
  71. # 设置代理头部信息
  72. proxy_set_header Host $Host;
  73. proxy_set_header X-Forward-For $remote_addr;
  74. # 代理到本地8899端口
  75. proxy_pass http://127.0.0.1:8899;
  76. }
  77. # 处理根路径和默认请求
  78. location / {
  79. # 设置根目录(Windows路径)
  80. root E:\\shuohuang_nginx\\shuohuang_nginx-1.20.2\\html\\dist;
  81. # 默认索引文件
  82. index index.html index.htm;
  83. }
  84. # 自定义404错误页面
  85. error_page 404 /index.html;
  86. # 定义服务器错误页面
  87. error_page 500 502 503 504 /50x.html;
  88. # 50x错误页面配置
  89. location = /50x.html {
  90. root html;
  91. }
  92. }
  93. }

多重部署

  1. #user nobody;
  2. worker_processes 1;
  3. #error_log logs/error.log;
  4. #error_log logs/error.log notice;
  5. #error_log logs/error.log info;
  6. #pid logs/nginx.pid;
  7. events {
  8. worker_connections 1024;
  9. }
  10. http {
  11. # ...
  12. # 设置连接超时时间为30秒
  13. fastcgi_connect_timeout 600s;
  14. # 设置请求超时时间为60秒
  15. fastcgi_send_timeout 600s;
  16. fastcgi_read_timeout 600s;
  17. proxy_send_timeout 600s;
  18. proxy_read_timeout 600s;
  19. client_body_timeout 600s;
  20. client_header_timeout 600s;
  21. include mime.types;
  22. default_type application/octet-stream;
  23. sendfile on;
  24. #tcp_nopush on;
  25. #keepalive_timeout 0;
  26. keepalive_timeout 65;
  27. #定义变量,兼容HTTP和websocket两种请求协议
  28. map $http_upgrade $connection_upgrade {
  29. default keep-alive; #默认 keep-alive,表示HTTP协议。
  30. 'websocket' upgrade;#若是 websocket 请求,则升级协议 upgrade
  31. }
  32. #物流港大屏1
  33. server {
  34. listen 3000;
  35. server_name localhost;
  36. #添加头部信息
  37. proxy_set_header Cookie $http_cookie;
  38. proxy_set_header X-Forwarded-Host $host;
  39. proxy_set_header X-Forwarded-Server $host;
  40. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  41. proxy_set_header X-real-ip $remote_addr;
  42. client_max_body_size 500m;
  43. #添加拦截路径和代理地址
  44. location /api/ {
  45. proxy_pass http://localhost:8080/; #注意:使用代理地址时末尾记得加上斜杠"/"。
  46. }
  47. location /jeecg-boot-file {
  48. #proxy_set_header Host $Host;
  49. #proxy_set_header X-Forward-For $remote_addr;
  50. proxy_pass http://localhost:8080;
  51. }
  52. location /jeecg-boot {
  53. proxy_set_header Host $Host;
  54. proxy_set_header X-Forward-For $remote_addr;
  55. proxy_pass http://localhost:8080;
  56. }
  57. #websocket的代理规则
  58. location /jeecg-boot/websocket {
  59. proxy_pass http://localhost:8080; #转发到后端接口
  60. proxy_read_timeout 60s; #设置超时时间,默认是60
  61. proxy_http_version 1.1;
  62. proxy_set_header Host $host;#这个配置不要漏了,必须要
  63. proxy_set_header Upgrade $http_upgrade;
  64. proxy_set_header Connection $connection_upgrade;
  65. }
  66. location / {
  67. root C:\\wuliugang1\\nginx-1.20.2\\html\\dist1;
  68. index index.html index.htm;
  69. }
  70. error_page 404 /index.html;
  71. error_page 500 502 503 504 /50x.html;
  72. location = /50x.html {
  73. root html;
  74. }
  75. }
  76. # 物流港大屏2
  77. server {
  78. listen 3001;
  79. server_name localhost;
  80. #添加头部信息
  81. proxy_set_header Cookie $http_cookie;
  82. proxy_set_header X-Forwarded-Host $host;
  83. proxy_set_header X-Forwarded-Server $host;
  84. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  85. proxy_set_header X-real-ip $remote_addr;
  86. client_max_body_size 500m;
  87. #添加拦截路径和代理地址
  88. location /api/ {
  89. proxy_pass http://localhost:8099/; #注意:使用代理地址时末尾记得加上斜杠"/"。
  90. }
  91. location /jeecg-boot-file {
  92. #proxy_set_header Host $Host;
  93. #proxy_set_header X-Forward-For $remote_addr;
  94. proxy_pass http://localhost:8099;
  95. }
  96. location /jeecg-boot {
  97. proxy_set_header Host $Host;
  98. proxy_set_header X-Forward-For $remote_addr;
  99. proxy_pass http://localhost:8099;
  100. }
  101. location / {
  102. root C:\\wuliugang1\\nginx-1.20.2\\html\\dist2;
  103. index index.html index.htm;
  104. }
  105. #websocket的代理规则
  106. location /jeecg-boot/websocket {
  107. proxy_pass http://localhost:8099; #转发到后端接口
  108. proxy_read_timeout 60s; #设置超时时间,默认是60
  109. proxy_http_version 1.1;
  110. proxy_set_header Host $host;#这个配置不要漏了,必须要
  111. proxy_set_header Upgrade $http_upgrade;
  112. proxy_set_header Connection $connection_upgrade;
  113. }
  114. error_page 404 /index.html;
  115. error_page 500 502 503 504 /50x.html;
  116. location = /50x.html {
  117. root html;
  118. }
  119. }
  120. #定时任务项目
  121. server {
  122. listen 3033;
  123. server_name localhost;
  124. charset utf-8;
  125. location / {
  126. root C:\\task\\task_ui;
  127. try_files $uri $uri/ /index.html;
  128. index index.html index.htm;
  129. }
  130. location /prod-api/ {
  131. proxy_set_header Host $http_host;
  132. proxy_set_header X-Real-IP $remote_addr;
  133. proxy_set_header REMOTE-HOST $remote_addr;
  134. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  135. proxy_pass http://localhost:9080/;
  136. }
  137. error_page 500 502 503 504 /50x.html;
  138. location = /50x.html {
  139. root html;
  140. }
  141. }
  142. }

朔黄nginx配置文件

  1. #user nobody;
  2. worker_processes 1;
  3. #error_log logs/error.log;
  4. #error_log logs/error.log notice;
  5. #error_log logs/error.log info;
  6. #pid logs/nginx.pid;
  7. events {
  8. worker_connections 1024;
  9. }
  10. http {
  11. # ...
  12. # 设置连接超时时间为30秒
  13. fastcgi_connect_timeout 600s;
  14. # 设置请求超时时间为60秒
  15. fastcgi_send_timeout 600s;
  16. fastcgi_read_timeout 600s;
  17. proxy_send_timeout 600s;
  18. proxy_read_timeout 600s;
  19. client_body_timeout 600s;
  20. client_header_timeout 600s;
  21. include mime.types;
  22. default_type application/octet-stream;
  23. #log_format main '$remote_addr - $remote_user [$time_local] "$request" '
  24. # '$status $body_bytes_sent "$http_referer" '
  25. # '"$http_user_agent" "$http_x_forwarded_for"';
  26. #access_log logs/access.log main;
  27. sendfile on;
  28. #tcp_nopush on;
  29. #keepalive_timeout 0;
  30. keepalive_timeout 65;
  31. #定义变量,兼容HTTP和websocket两种请求协议
  32. map $http_upgrade $connection_upgrade {
  33. default keep-alive; #默认 keep-alive,表示HTTP协议。
  34. 'websocket' upgrade;#若是 websocket 请求,则升级协议 upgrade
  35. }
  36. #gzip on;
  37. server{
  38. listen 3031;
  39. server_name localhost;
  40. #添加头部信息
  41. proxy_set_header Cookie $http_cookie;
  42. proxy_set_header X-Forwarded-Host $host;
  43. proxy_set_header X-Forwarded-Server $host;
  44. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  45. proxy_set_header X-real-ip $remote_addr;
  46. #charset koi8-r;
  47. #access_log logs/host.access.log main;
  48. client_max_body_size 500m;
  49. #添加拦截路径和代理地址
  50. location /api/ {
  51. proxy_pass http://localhost:8091/; #注意:使用代理地址时末尾记得加上斜杠"/"。
  52. }
  53. location /jeecg-boot-file {
  54. #proxy_set_header Host $Host;
  55. #proxy_set_header X-Forward-For $remote_addr;
  56. proxy_pass http://localhost:8091;
  57. }
  58. location /jeecg-boot {
  59. proxy_set_header Host $Host;
  60. proxy_set_header X-Forward-For $remote_addr;
  61. proxy_pass http://localhost:8091;
  62. }
  63. location / {
  64. root ./html/dist_lte;
  65. index index.html index.htm;
  66. try_files $uri $uri/ /index.html =404;
  67. }
  68. #websocket的代理规则
  69. location /jeecg-boot/websocket {
  70. proxy_pass http://localhost:8091; #转发到后端接口
  71. proxy_read_timeout 60s; #设置超时时间,默认是60
  72. proxy_http_version 1.1;
  73. proxy_set_header Host $host;#这个配置不要漏了,必须要
  74. proxy_set_header Upgrade $http_upgrade;
  75. proxy_set_header Connection $connection_upgrade;
  76. }
  77. #error_page 404 /404.html;
  78. # redirect server error pages to the static page /50x.html
  79. #
  80. error_page 500 502 503 504 /50x.html;
  81. location = /50x.html {
  82. root html;
  83. }
  84. }
  85. # another virtual host using mix of IP-, name-, and port-based configuration
  86. #
  87. #server {
  88. # listen 8000;
  89. # listen somename:8080;
  90. # server_name somename alias another.alias;
  91. # location / {
  92. # root html;
  93. # index index.html index.htm;
  94. # }
  95. #}
  96. # HTTPS server
  97. #
  98. #server {
  99. # listen 443 ssl;
  100. # server_name localhost;
  101. # ssl_certificate cert.pem;
  102. # ssl_certificate_key cert.key;
  103. # ssl_session_cache shared:SSL:1m;
  104. # ssl_session_timeout 5m;
  105. # ssl_ciphers HIGH:!aNULL:!MD5;
  106. # ssl_prefer_server_ciphers on;
  107. # location / {
  108. # root html;
  109. # index index.html index.htm;
  110. # }
  111. #}
  112. }

实习V2

  1. #user nobody;
  2. worker_processes 1;
  3. #error_log logs/error.log;
  4. #error_log logs/error.log notice;
  5. #error_log logs/error.log info;
  6. #pid logs/nginx.pid;
  7. events {
  8. worker_connections 1024;
  9. }
  10. http {
  11. include mime.types;
  12. default_type application/octet-stream;
  13. #log_format main '$remote_addr - $remote_user [$time_local] "$request" '
  14. # '$status $body_bytes_sent "$http_referer" '
  15. # '"$http_user_agent" "$http_x_forwarded_for"';
  16. #access_log logs/access.log main;
  17. sendfile on;
  18. #tcp_nopush on;
  19. #keepalive_timeout 0;
  20. keepalive_timeout 65;
  21. #gzip on;
  22. #定义变量,兼容HTTP和websocket两种请求协议
  23. map $http_upgrade $connection_upgrade {
  24. default keep-alive;
  25. 'websocket' upgrade;
  26. }
  27. upstream yunwei_server{
  28. server 202.207.122.112:9500;
  29. server 202.207.122.113:9500;
  30. }
  31. upstream xxl_server{
  32. server 202.207.122.122:18090;
  33. }
  34. server {
  35. listen 3000;
  36. server_name localhost;
  37. # 反向代理到后端服务
  38. proxy_set_header Cookie $http_cookie;
  39. proxy_set_header X-Forwarded-Host $host;
  40. proxy_set_header X-Forwarded-Server $host;
  41. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  42. proxy_set_header X-real-ip $remote_addr;
  43. # 统一添加CORS头
  44. add_header 'Access-Control-Allow-Origin' '$http_origin' always;
  45. add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS' always;
  46. add_header 'Access-Control-Allow-Headers' 'Content-Type, Authorization' always;
  47. add_header 'Access-Control-Allow-Credentials' 'true' always;
  48. # add_header X-Frame-Options DENY;
  49. # add_header Access-Control-Allow-Origin https://trusted.com;
  50. # add_header Vary Origin;
  51. location ~* /.+jmreport.+ {
  52. # 使用if指令和=403来拒绝访问
  53. if ($request_uri ~* "jmreport") {
  54. return 403;
  55. }
  56. }
  57. location /xxl-job-admin {
  58. proxy_pass http://202.207.122.112:18090;
  59. proxy_http_version 1.1;
  60. proxy_set_header Host $host;
  61. proxy_set_header Upgrade $http_upgrade;
  62. proxy_set_header Connection $connection_upgrade;
  63. }
  64. location /internship {
  65. proxy_pass http://yunwei_server;
  66. proxy_http_version 1.1;
  67. proxy_set_header Host $host;
  68. proxy_set_header Upgrade $http_upgrade;
  69. proxy_set_header Connection $connection_upgrade;
  70. }
  71. #charset koi-r;
  72. #access_log logs/host.access.log main;
  73. location / {
  74. root /data/nginx/html;
  75. index index.html index.htm;
  76. try_files $uri $uri/ /index.html;
  77. }
  78. #error_page 404 /404.html;
  79. # redirect server error pages to the static page /50x.html
  80. #
  81. error_page 500 502 503 504 /50x.html;
  82. location = /50x.html {
  83. root html;
  84. }
  85. # proxy the PHP scripts to Apache listening on 127.0.0.1:80
  86. #
  87. #location ~ \.php$ {
  88. # proxy_pass http://127.0.0.1;
  89. #}
  90. # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
  91. #
  92. #location ~ \.php$ {
  93. # root html;
  94. # fastcgi_pass 127.0.0.1:9000;
  95. # fastcgi_index index.php;
  96. # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
  97. # include fastcgi_params;
  98. #}
  99. # deny access to .htaccess files, if Apache's document root
  100. # concurs with nginx's one
  101. #
  102. #location ~ /\.ht {
  103. # deny all;
  104. #}
  105. }
  106. # another virtual host using mix of IP-, name-, and port-based configuration
  107. #
  108. #server {
  109. # listen 8000;
  110. # listen somename:8080;
  111. # server_name somename alias another.alias;
  112. # location / {
  113. # root html;
  114. # index index.html index.htm;
  115. # }
  116. #}
  117. # HTTPS server
  118. #
  119. #server {
  120. # listen 443 ssl;
  121. # server_name localhost;
  122. # ssl_certificate cert.pem;
  123. # ssl_certificate_key cert.key;
  124. # ssl_session_cache shared:SSL:1m;
  125. # ssl_session_timeout 5m;
  126. # ssl_ciphers HIGH:!aNULL:!MD5;
  127. # ssl_prefer_server_ciphers on;
  128. # location / {
  129. # root html;
  130. # index index.html index.htm;
  131. # }
  132. #}
  133. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注