nginx代理静态文件和开启zip压缩和后台接口代理配置

1、开启gzip压缩

为了解决VUE首屏页加载时间过长,可以开启gzip压缩

    gzip on;#开启压缩
	gzip_static on;
  	gzip_disable "msie6";
	gzip_min_length 500k; 
	# gzip_buffers 4 16k; 
	gzip_comp_level 3;#压缩等级1-9,级别越高压缩率越大,当然压缩时间也就越长(传输快但比较消耗cpu)
    gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png; 
    gzip_vary on;

2、开启SSL访问

为了用https访问应用,我们一般需要开启SSL

        listen 80 ssl;#监听端口
        server_name  school.****.cn;#你的域名
		root html;
		index index.html index.htm;
		ssl_certificate cert/8545790_school..****..cn.pem;  
		ssl_certificate_key cert/8545790_school..****..cn.key; 
		ssl_session_timeout 5m;
		ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
		#表示使用的加密套件的类型。
		ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; #表示使用的TLS协议的类型,您需要自行评估是否配置TLSv1.1协议。
		ssl_prefer_server_ciphers on;

3、开启静态资源代理

		#静态文件加载
		location ~ .*\.(txt)$ {
			root /opt/static;
		}

4、开启页面和后台接口代理

 		location / {
            root  /usr/local/beitai1850/dist;
			try_files $uri $uri/ /index.html;
            index  index.html index.htm;
        }
		#后台接口代理
		location /websocket/ {
			proxy_pass http://192.168.0.11:8080/websocket/;
			proxy_connect_timeout 4s;               
			proxy_read_timeout 60s;                  
			proxy_send_timeout 12s;                  
			proxy_http_version 1.1;
			proxy_set_header Upgrade $http_upgrade;
			proxy_set_header Connection "upgrade";
		}
		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;
			proxy_pass http://192.168.0.11:8080/;
		}

5、开启多端口监测

只需要在http下新增server即可。

6、完整的nginx配置


#user  nginx;
worker_processes  auto;

#error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;
events {
    worker_connections  1024;
}
http {
    include       /etc/nginx/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  /var/log/nginx/access.log  main;
    sendfile        on;
    #tcp_nopush     on;
    keepalive_timeout  65;

    gzip on;#开启压缩
	gzip_static on;
  	gzip_disable "msie6";
	gzip_min_length 500k; 
	# gzip_buffers 4 16k; 
	gzip_comp_level 3;#压缩等级1-9,级别越高压缩率越大,当然压缩时间也就越长(传输快但比较消耗cpugzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png; 
    gzip_vary on;
    #include /etc/nginx/conf.d/*.conf;
	server {
		//开启SSL访问
		listen 80 ssl;
        server_name  school.****.cn;#你的域名
		root html;
		index index.html index.htm;
		ssl_certificate cert/8545790_school..****..cn.pem;  
		ssl_certificate_key cert/8545790_school..****..cn.key; 
		ssl_session_timeout 5m;
		ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
		#表示使用的加密套件的类型。
		ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; #表示使用的TLS协议的类型,您需要自行评估是否配置TLSv1.1协议。
		ssl_prefer_server_ciphers on;
       #charset koi8-r;
        #access_log  logs/host.access.log  main;
		#静态文件加载
		location ~ .*\.(txt)$ {
			root /opt/static;
		}
        location / {
            root  /usr/local/beitai1850/dist;
			try_files $uri $uri/ /index.html;
            index  index.html index.htm;
        }
		#后台接口代理
		location /websocket/ {
			proxy_pass http://192.168.0.11:8080/websocket/;
			proxy_connect_timeout 4s;               
			proxy_read_timeout 60s;                  
			proxy_send_timeout 12s;                  
			proxy_http_version 1.1;
			proxy_set_header Upgrade $http_upgrade;
			proxy_set_header Connection "upgrade";
		}
		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;
				proxy_pass http://192.168.0.11:8080/;
		}
        #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 {
            root   html;
        }
        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://116.62.59.131;
        #}
        # pass the PHP scripts to FastCGI server listening on 116.62.59.131:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   116.62.59.131: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;
        #}
    }
	server {#监听其他端口
		listen       443;
        server_name  localhost;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;

         location / {
            root  /usr/local/beitai1850/dist;
			try_files $uri $uri/ /index.html;
            index  index.html index.htm;
        }
		location /websocket/ {
			proxy_pass http://192.168.0.11:8080/websocket/;
			proxy_connect_timeout 4s;               
			proxy_read_timeout 60s;                  
			proxy_send_timeout 12s;                  
			proxy_http_version 1.1;
			proxy_set_header Upgrade $http_upgrade;
			proxy_set_header Connection "upgrade";
		}
		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;
				proxy_pass http://192.168.0.11:8080/;
		}

        #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 {
            root   html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://116.62.59.131;
        #}

        # pass the PHP scripts to FastCGI server listening on 116.62.59.131:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   116.62.59.131: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;
        #}
    }
}


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要在Linux上使用Nginx代理静态文件,你需要按照以下步骤进行设置: 1. 首先,你需要安装Nginx。你可以从官方网站下载你所需版本的Nginx压缩包。使用以下命令下载: `wget http://nginx.org/download/nginx-1.16.1.tar.gz` [3] 2. 下载完成后,解压缩压缩包,并进入解压缩后的目录。使用以下命令进行解压缩和进入目录: ``` tar -zxvf nginx-1.16.1.tar.gz cd nginx-1.16.1 ``` 3. 创建Nginx的安装目录。使用以下命令创建目录: `mkdir -p /usr/local/nginx` [1] 4. 配置Nginx。使用以下命令进行配置: `./configure --prefix=/usr/local/nginx` [1] 5. 编译和安装Nginx。使用以下命令进行编译和安装: `make && make install` [1] 6. 配置Nginx代理静态文件。打开Nginx配置文件,并添加以下配置: ``` location ~ .*/(css|js|img) { root /opt/static; } ``` 这表示在`/opt/static`目录下的所有(css/js/img目录下的)资源将由Nginx代理。你可以根据实际情况修改路径和目录名称。保存并退出配置文件。 7. 重新加载Nginx配置。使用以下命令重新加载Nginx配置: `/usr/local/nginx/sbin/nginx -s reload` [2] 现在,Nginx将会代理你指定的Linux静态文件。请确保你的静态文件位于配置文件中指定的路径下,并且文件名和目录结构正确。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Nginx简介,Linux上简单实现部署静态资源、反向代理、负载均衡](https://blog.csdn.net/m0_52765511/article/details/126212249)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [nginx(静态代理)linux版](https://blog.csdn.net/Badman0726/article/details/122024886)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

开心编码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值