nginx常用配置conf的示例代码详解


Posted in Servers onMarch 21, 2022

nginx常用配置conf

代理静态文件

# 静态文件
server { 
    # 压缩问价你配置
    gzip on;
    gzip_min_length 1k;
    gzip_buffers 4 16k;
    gzip_http_version 1.1;
    gzip_comp_level 6;
    gzip_types text/plain text/css  application/javascript application/json image/jpeg image/png image/gif;
    gzip_disable "MSIE [1-6]\.";
    gzip_vary on;

    listen       8088;
    server_name web_resources;
    root   /data/nginx/static; 
    # 开启页面文件显示
    autoindex on; 
    location / {  
    # add_header Cache-Control no-store;
    add_header Cache-Control "public,max-age=2592000";  
    add_header 'Access-Control-Allow-Origin' '*';
    }
}

配置VUE项目

server {
      listen 8071 ;
      listen [::]:8071 ;
      server_name zrzyweb; # 这里是网站的域名
      location / {
      add_header 'Access-Control-Allow-Origin' $http_origin;
      add_header 'Access-Control-Allow-Credentials' 'true';
      add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
      add_header 'Access-Control-Allow-Headers' 'DNT,web-token,app-token,Authorization,Accept,Origin,Keep-Alive,User-Agent,X-Mx-ReqToken,X-Data-Type,X-Auth-Token,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
      add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
      if ($request_method = 'OPTIONS') {
        add_header 'Access-Control-Max-Age' 1728000;
        add_header 'Content-Type' 'text/plain; charset=utf-8';
        add_header 'Content-Length' 0;
        return 204;
      }
      root E:/data/vue/zrzy; # /vue/dist/ 打包后的dist目录
      try_files $uri $uri/ @router; # 指向下面的 @router否则会出现 404
      index index.html index.htm;
      }
        # 对应上面的 @router,主要Vue请求并不是真实路径,无法找到文件,需要重定向到 index.html 中,然后交给路由处理
      location @router {
      rewrite ^.*$ /index.html last;
      }
}

配置接口代理

可以配置多个代理服务

# 接口服务 
server {                                        
        listen       8090;
        server_name  njzy.natapp1.cc;
        charset utf-8;
        location /project/ {  
        proxy_set_header Host $host;  
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://192.168.1.106:8080/;
        }

        location /one/ {  
        proxy_set_header Host $host;  
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://192.168.1.243:9000/;
        }
}

完整nginx.conf配置文件

{
#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
#pid        logs/nginx.pid;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';
    #access_log  logs/access.log  main;
    sendfile        on;
    #tcp_nopush     on;
    #keepalive_timeout  0;
    keepalive_timeout  65;
    #gzip  on;
    server {
        listen       80;
        server_name  localhost;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
        location / {
            root   html;
            index  index.html index.htm;
        }
        #error_page  404              /404.html;
        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}
        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #location ~ /\.ht {
        #    deny  all;
    }
    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;
    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}
    # HTTPS server
    #    listen       443 ssl;
    #    server_name  localhost;
    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;
    #    ssl_session_cache    shared:SSL:1m;
    #    ssl_session_timeout  5m;
    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers  on;
# vue    
server {
        listen 8071 ;
        listen [::]:8071 ;
         server_name zrzyweb; # 这里是网站的域名
   # root /var/www/ec; # /vue/dist/ 打包后的dist目录
      add_header 'Access-Control-Allow-Origin' $http_origin;
      add_header 'Access-Control-Allow-Credentials' 'true';
      add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
      add_header 'Access-Control-Allow-Headers' 'DNT,web-token,app-token,Authorization,Accept,Origin,Keep-Alive,User-Agent,X-Mx-ReqToken,X-Data-Type,X-Auth-Token,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
      add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
      if ($request_method = 'OPTIONS') {
        add_header 'Access-Control-Max-Age' 1728000;
        add_header 'Content-Type' 'text/plain; charset=utf-8';
        add_header 'Content-Length' 0;
        return 204;
      }
                root E:/data/vue/zrzy; # /vue/dist/ 打包后的dist目录
                try_files $uri $uri/ @router; # 指向下面的 @router否则会出现 404
                index index.html index.htm;
        # 对应上面的 @router,主要Vue请求并不是真实路径,无法找到文件,需要重定向到 index.html 中,然后交给路由处理
        location @router {
            rewrite ^.*$ /index.html last;
         }
# 静态文件
server {  #web_resources
       gzip on;
       gzip_min_length 1k;
       gzip_buffers 4 16k;
       gzip_http_version 1.1;
       gzip_comp_level 6;
       gzip_types text/plain text/css  application/javascript application/json image/jpeg image/png image/gif;
       gzip_disable "MSIE [1-6]\.";
       gzip_vary on;
                                                  
        listen       8088;
        server_name web_resources;
        root   /data/nginx/static;  
        autoindex on; 
        location / {  
        # add_header Cache-Control no-store;
        add_header Cache-Control "public,max-age=2592000";  
	      add_header 'Access-Control-Allow-Origin' '*';
    } 
 
# 接口服务 
server {                                        
        listen       8090;
        server_name  njzy.natapp1.cc;
        charset utf-8;
        location /project/ {  
        proxy_set_header Host $host;  
	      proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://192.168.1.106:8080/;
        location /one/ {  
        proxy_pass http://192.168.1.243:9000/;
      
        location /two/ {  
        proxy_pass http://192.168.1.100:9000/;
        location /three/ {  
        proxy_pass http://192.168.1.100:8085/;
    }

到此这篇关于nginx常用配置conf的文章就介绍到这了,更多相关nginx配置conf内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Servers 相关文章推荐
Nginx+Tomcat实现负载均衡、动静分离的原理解析
Mar 31 Servers
Nginx服务器添加Systemd自定义服务过程解析
Mar 31 Servers
教你快速开启Apache SkyWalking的自监控
Apr 25 Servers
Rhit高效可视化Nginx日志查看工具
Nov 01 Servers
了解Kubernetes中的Service和Endpoint
Apr 01 Servers
Nginx禁止ip访问或非法域名访问
Apr 07 Servers
nginx 配置缓存
May 11 Servers
Nginx 匹配方式
May 15 Servers
CentOS7环境下MySQL8常用命令小结
Jun 10 Servers
kubernetes集群搭建Zabbix监控平台的详细过程
Jul 07 Servers
keepalived + nginx 实现高可用方案
Dec 24 Servers
Nginx设置HTTPS的方法步骤 443证书配置方法
nginx共享内存的机制详解
Nginx的基本概念和原理
解决xampp安装后Apache无法启动
Nginx图片服务器配置之后图片访问404的问题解决
Shell脚本一键安装Nginx服务自定义Nginx版本
Nginx实现会话保持的两种方式
Mar 18 #Servers
You might like
深入解析php模板技术原理【一】
2008/01/10 PHP
PHP错误抑制符(@)导致引用传参失败Bug的分析
2011/05/02 PHP
Codeigniter中禁止A Database Error Occurred错误提示的方法
2014/06/12 PHP
php从文件夹随机读取文件的方法
2015/06/01 PHP
PHP添加文字水印或图片水印的水印类完整源代码与使用示例
2019/03/18 PHP
关于JAVASCRIPT urldecode URL解码的问题
2012/01/08 Javascript
jQuery之ajax技术的详细介绍
2013/06/19 Javascript
javascript类型转换使用方法
2014/02/08 Javascript
用javascript关闭本窗口不弹出询问框的方法
2014/09/12 Javascript
js+css实现select的美化效果
2016/03/24 Javascript
原生JS封装animate运动框架的实例
2017/10/12 Javascript
Vue cli 引入第三方JS和CSS的常用方法分享
2018/01/20 Javascript
微信小程序实现全局搜索代码高亮的示例
2018/03/30 Javascript
微信小程序实现聊天对话(文本、图片)功能
2018/07/06 Javascript
JavaScript Blob对象原理及用法详解
2020/10/14 Javascript
如何使用原生Js实现随机点名详解
2021/01/06 Javascript
python中将字典转换成其json字符串
2014/07/16 Python
Python实现的监测服务器硬盘使用率脚本分享
2014/11/07 Python
利用python修改json文件的value方法
2018/12/31 Python
django框架单表操作之增删改实例分析
2019/12/16 Python
Pytorch之Variable的用法
2019/12/31 Python
windows下Pycharm安装opencv的多种方法
2020/03/05 Python
手把手教你用纯css3实现轮播图效果实例
2017/05/04 HTML / CSS
美国首屈一指的高品质珠宝设计师和零售商:Allurez
2018/01/23 全球购物
中专毕业个人的自荐信格式
2013/09/21 职场文书
电气个人求职信范文
2014/02/04 职场文书
安全承诺书范文
2014/03/26 职场文书
房屋公证委托书
2014/04/03 职场文书
小学班干部竞选演讲稿
2014/04/24 职场文书
装饰工程师岗位职责
2014/06/08 职场文书
护士工作失误检讨书
2014/09/14 职场文书
计算机实训报告总结
2014/11/05 职场文书
react中props 的使用及进行限制的方法
2021/04/28 Javascript
golang特有程序结构入门教程
2021/06/02 Python
python DataFrame中stack()方法、unstack()方法和pivot()方法浅析
2022/04/06 Python
引用计数法和root搜索算法以及JVM中判定对象需要回收的方法
2022/04/19 Java/Android