Nginx访问配置

以Nginx为例

1. 安装nginx

安装nginx

  • 手动安装
# 解压安装包
tar zxcf openresty-$\{VERSION\}.tar.gz
  
# 进入nginx目录
cd openresty-$\{VERSION\}
  
# 配置安装目录等
./configure --prefix=/data0 --with-http_stub_status_module --with-http_addition_module
  
# 编译&&安装
make && make install
  
# 启动nginx
cd /data0/nginx/sbin
./nginx

开机启动参考官方文档

  • yum安装
yum install -y nginx

2. 修改nginx配置文件

配置文件

  • 编译安装:/data0/nginx/conf/nginx.conf
  • yum安装:/etc/nginx/nginx.conf

网站访问参考配置

server {
    listen       80;
    server_name  www.swikoon.com;
    
    # PC站配置www.swikoon.com域名访问swikoon_pc目录
    location / {
        ssi on;
        ssi_silent_errors on;
        ssi_types text/shtml;
        root /www/docker/ruoyi-admin/wwwroot_release/swikoon_pc;
        index index.shtml index.html index.htm;
    }
    
    # 发布通道资源文件
    location ~ ^/(images|img|fonts|assets|js|css)/ {
        root   /www/docker/ruoyi-admin/wwwroot_release/swikoon_pc;
        expires 1d;
    }
    
    # 后台上传的资源文件访问统一代理到swikoon目录,如果使用OSS不需要配置
    location ~ ^/(resources)/ {
        root /www/docker/ruoyi-admin/wwwroot_release/swikoon;
        expires 1d;
    }
    
    # 搜索动态模板访问代理
    location = /_search {
        ssi on;
        ssi_silent_errors on;
        
        proxy_buffers 32 8k;
        add_after_body "";
        proxy_cookie_path / /;
        proxy_pass http://localhost:8090;
    }

    # API接口请求路径代理
    location ~ ^/(api)/ {
        proxy_buffers 32 8k;
        proxy_cookie_path / /;
        proxy_pass http://localhost:8090;
    }

    # 会员相关动态页面代理
    location ~ ^/(account)/ {
        ssi on;
        ssi_silent_errors on;

        proxy_buffers 32 8k;
        add_after_body "";
        proxy_cookie_path / /;
        proxy_pass http://localhost:8090;
    }
}

后台服务参考配置

server {
    listen       443 ssl http2;
    server_name  backend.xxx.com;
    charset utf-8;

    access_log  /var/log/nginx/backend.xxx.log  main;

    ssl_certificate "/usr/share/nginx/cert/xxx.com.pem";
    ssl_certificate_key "/usr/share/nginx/cert/xxx.com.key";
    ssl_session_cache shared:SSL:1m;
    ssl_session_timeout  10m;
    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;

    location / {
        root   /data0/docker/chestnut-ui;
        try_files $uri $uri/ /index.html;
        index  index.html index.htm;
    }

    location /upload/ {
        root /data0/docker/chestnut-admin/uploadPath;
        expires 1d;
    }

    location /prod-api/ {
        proxy_set_header Host $http_host;
	proxy_set_header X-Real-IP $remote_addr;
	proxy_set_header REMOTE-HOST $remote_addr;
	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        client_max_body_size 200m;
        # 代理到后台服务
        proxy_pass http://localhost:8090/;
    }
}

3. 启动nginx

  • 手动安装
# 进入sbin目录
cd /data0/nginx/sbin
  
# 检查配置文件
./nginx -t
  
# 重启
./nginx -s reload
  • yum安装
# 检查配置文件
nginx -t
  
# 重启
./nginx -s reload

内容导航