nginx优化和在windows 系统下添加服务

nginx优化和在windows 系统下添加服务

话不多说直接上配置文件

nginx优化

配置开启多少个工作进程 也就是cpu进程数,atuo是指跟随系统自动设置进程数,最好设置具体一下
worker_processes auto;
将进程绑定到特定的cpu上,避免进程在cpu间切换的开销
下面是4核开4线程的设置,如果是8核CPU开8个进程 worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;
如果是4核开8进程数worker_cpu_affinity 0001 0010 0100 1000 0001 0010 0100 1000;
多个核数就表示要有多少位,0001表示启用第一个CPU内核,0010表示启用第二个CPU内核,依此类推
但是在Windows上设置没有作用,
#worker_cpu_affinity 0001 0010 0100 1000;
设置每个进程最大可打开的文件描述数量
worker_rlimit_nofile 65535;

events {
设置最大并发量
worker_connections 102400;
当一个新连接到达时,如果激活了accept_mutex,那么多个Worker将以串行方式来处理,其中有一个Worker会被唤醒,其他的Worker继续保持休眠状态;如果没有激活accept_mutex,那么所有的Worker都会被唤醒,不过只有一个Worker能获取新连接,其它的Worker会重新进入休眠状态
accept_mutex on;
如果multi_accept被禁止了,nginx一个工作进程只能同时接受一个新的连接。否则,一个工作进程可以同时接受所有的新连接。 如果nginx使用kqueue连接方法,那么这条指令会被忽略,因为这个方法会报告在等待被接受的新连接的数量。
multi_accept on;
}
server_tokens off;
sendfile on;
tcp_nopush on;
最大连接时间
keepalive_timeout 65;
***内容压缩 ***
gzip on;
gzip_disable “msie6”;
gzip_min_length 1024;
gzip_vary on;
gzip_comp_level 2;
gzip_buffers 4 32k;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

下面是我的配置文件:

#user  nobody;
worker_processes  auto;
#worker_cpu_affinity 0001 0010 0100 1000;
worker_rlimit_nofile 65535;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  102400;
	accept_mutex on;
    multi_accept on;
	
}


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;
    server_tokens off;
    sendfile        on;
    tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    gzip  on;
	gzip_disable "msie6";
	gzip_min_length 1024;
	gzip_vary on;
	gzip_comp_level 2;
	gzip_buffers 4 32k;
	gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

	upstream nginx_test{
		server 127.0.0.1:8891 weight=1 max_fails=3 fail_timeout=30s;
		server 127.0.0.1:8892 weight=1 max_fails=3 fail_timeout=30s;
		server 127.0.0.1:8893 weight=1 max_fails=3 fail_timeout=30s;
   }
   server {
         listen     80;
        server_name  mpcollege.svsbic.com;
        rewrite ^(.*)$  https://$host$1 permanent; 
        }
    server {
		
		listen       443 ssl;
        server_name  域名;

        ssl on;
		root html;
		index index.html index.htm;
		ssl_certificate   路径 ;
		ssl_certificate_key  路径 ;
		ssl_session_timeout 5m;
		ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
		ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
		ssl_prefer_server_ciphers on;
	
		location / {
         proxy_set_header Host $http_host;
				proxy_set_header X-Forwarded-Proto https;
				proxy_redirect off;
				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;
				}
				
				
				proxy_set_header X-Real-IP $remote_addr;
				proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
				proxy_set_header X-Forwarded-Proto $scheme;
				proxy_connect_timeout 90;
				client_max_body_size   10000m;
				
				proxy_pass  http://nginx_test;
				
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

nginx在Windows系统下添加服务

大致的目录结构
在这里插入图片描述
创建配置文件service.exe.config内容如下

<configuration>
  <startup>
        <supportedRuntime version="v2.0.50727" />  
	<supportedRuntime version="v4.0" />
   </startup>
   <runtime>
        <generatePublisherEvidence enabled="false"/>
    </runtime>
</configuration>

创建配置文件service.xml,内容如下

<service> 
    <id>nginx-service</id>
    <name>NginxService</name>
    <description>nginx</description>
      <logpath>D:\nginx-1.14.2\logs</logpath>  
    <log mode="roll-by-size">   
        <sizeThreshold>10240</sizeThreshold>
        <keepFiles>8</keepFiles>
    </log>
      <executable>D:\nginx-1.14.2\nginx.exe</executable>  
    <startarguments>-p nginx-path</startarguments>
    <stopexecutable>D:\nginx-1.14.2\nginx.exe</stopexecutable>
    <stoparguments>-p D:\nginx-1.14.2 -s stop</stoparguments>
</service>

面的id为服务名称,用来删除服务,name为描述

将里面的路径修改成你自己的路径
下载一个安装工具winsw-1.18-bin.exe.下载连接
复制到nginx目录下修改名字为service.exe
nginx的根目录打开dos,输入命令:service.exe install。
查看windows服务列表,启动。

像nginx优化还可以对静态资源进行一些优化,设置缓存时间,这里就不解释了,在Windows下可能会出问题,有兴趣可以自己去查找

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值