nginx 二 配置conf

nginx/conf/nginx.conf 文件 说明

#user  nobody;        #配置 worker 进程运行用户 默认 nobody
worker_processes  4 ; # 配置工作进程数目,推荐 cpu 的线程数或者核心数,2双核4线程 配置 4 为宜

#error_log  logs/error.log;    # 配置日志文件位置,需要的把注解去掉。
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;    # 进程pid 可在这个目录下查看,也可以通过 ps -ef | grep nginx 查看

#配置worker 的连接数 也就是  上面设置的worker_processes  * worker_connections =  nginx 支持的总连接数。只有硬件够好。nginx 最大可有支持 5w 并发。
events {
    worker_connections  1024;
}

http {
    include       mime.types;  # 支持的格式 (具体可以去 conf目录下查看 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;   # 开启gzip 压缩输出

   # 配置 tomcat_1 在 8888 端口
    upstream tomcat1{
	  server 127.0.0.1:8888;
    }
    
   # 配置 tomcat_2 在 9999 端口
    upstream tomcat2{
	  server 127.0.0.1:9999;
    }

     # 外网访问  www.myyuming.com/haha  代理到 Tomcat_1
    server {
        listen    80;
        server_name  www.myyuming.com/haha;
		location / {
			proxy_pass http://tomcat1;
		}
		#保措时跳转到 下面的对于页面。
		error_page   404  500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/local/nginx/html;
        }
    }
    
    # 外网访问  www.myyuming.com/hehe 代理到 Tomcat_2
    server {
        listen    80;
        server_name  www.myyuming.com/hehe ;
		location / {
			proxy_pass http://tomcat2;
		}
		#保措时跳转到 下面的对于页面。
		error_page   404  500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/local/nginx/html;
        }
    }
    
   # include /etc/nginx/conf/*.conf;   # 表示可以配置子配置文件
    #配置 https 服务
    # HTTPS server
    #
    #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;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}

}

配置完成后收益下面的命令检查配置是否正常:

命令:/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf -t

重启服务命令:

命令: /usr/local/nginx/sbin/nginx -s reload

配置nginx 静态资源

假设:这个liunx 云服务器的 域名为 www.xxx.com

举例:我在liunx 的 更目录下创建了一个 test文件夹。在里面创建了一个 hello.html 文件

命令: cd /
命令: mkdir test
命令: cd test
命令: mkdir hello
命令:vi /test/hello/hello.html
-----------------vi 编辑模式---------------------
编辑:按 i 进入 输入模式 
编辑: 输入 hello world~~!
编辑:按 ESC  --> 冒号--》 wq --> 回车。
--------------编辑nginx.conf配置文件--------------------
命令:iv /usr/local/nginx/conf/nginx.conf

编辑如下(找到nginx。conf server{…location …} 的 位置,修改这个test/hello/hello.html 为nginx 首页)

    server {
      ... ....  
	        location / {            # / : 表示 网站的更目录   http://www.xxx.com 
	            root   /test/hello;        # 根目录
	            index  hello.html;     #默认访问 首页的文件。
	        }
	        
           # 也可以配置其他的  这样访问地址就成了  http://www.xxx.com/hello   
           # 这里特别注意   /hello 会被当成路径来访问 nginx 实际访问地址是    /test/hello/hello.html(我在这里被坑了很久  T^T 大家一定要注意)
	        location /hello{
	            root    /test;      
	            index  hello.html;  
	        }
	    ... ....
    }

重启nginx 服务器:

命令:/usr/local/nginx/sbin/nginx -s reload

好了配置完成了,现在下面两个地址都可以访问这个网页了:

http://www.xxx.com
http://www.xxx.com/hello

配置nginx 为负载均衡

配置方式如下:
在这里插入图片描述

负载均衡模式:

一共有4种

轮询 (默认)

权重(图上 weight 就是权重方式) 通过 配置 weight, 进行轮询,3 就轮询3次 1就轮询1次。可根据不同的计算机硬件配置区分配

ip_hash:将ip地址hash后指定给某台服务器,以后这个用户就只访问这台服务器,可以解决session共享问题,缺点,如果某台服务器挂了,那么这个服务器上的所有session 也就没了,一般不使用。

最少连接:ngin会选择多个服务器中连接数最少的那一台,有点:智能,缺点:所有服务器配置必须一样,否则,可能 1核 和 8核 分配的就是一样的连接数。

服务器模式

upstream backserver{
	server 192.168.0.0.1:8001;
	server 192.168.0.0.1:8002 backup;  #备份 当上面那台服务器挂了,才会使用这一台。否则不会访问。
}

upstream backserver{
	server 192.168.0.0.1:8001;
	server 192.168.0.0.1:8002 down;  #意味这台服务器为 关闭状态,nginx 不会访问他,用于服务升级时可以使用。
}

动静分离

什么是动静分离: 这里涉及到 并发访问的问题。
由于 nginx 只是作为反向代理,消息转发,消耗是极小的,可以达到 5w并发量。而 tomcat 等服务器 需要处理动态数据。所以一台tomcat 并发访问一般在 500 以内,超过 250 的并发量 响应速度就会在1秒以上了。
所以为了减轻 tomcat的访问压力,我们将应用内的静态资源 访问使用 nginx 来处理。这样可以大大的减轻tomcat 的负担。

这里我以tomcat为例。
1、在 tomcat webapp 目录下创建一个 test 文件夹

webapp目录下   mkdir  test

2、复制 tomcat 的 ROOT 文件的文件到 test 中去。

 ROOT目录下   cp ./* ./../test

3、剪切test 文件中的tomcat.png 到 /home/static/test 目录下

 test 目录下
 mkdir -p /home/static/test
 mv tomcat.png  /home/static/test

4、配置 nginx .conf 文件
测试应用文件目录为:

 应用部署:   tomcat/webapps/test           #test应用     8080 端口
 静态资源:   /home/static/test/                 # test文件夹下放自己 test 是应用名称

这里test是应用名称

         upstream www.test.com {
            server 127.0.0.1:8080;  #tomcat linux 下的访问地址。
       }
       #     这里特别要注意目录结构:
       server{ 
            location /test {   #把应用名称 配置过来
              proxy_pass http://www.test.com;
            }
            location ~.*\.(css|js|image|gif|png)$ {
               root /home/static; #这里只写到 静态资源的上一层目录就行。
             }
    	}

5、启动tomcat 和 nginx
nginx -s reload
6、这时你会发现你移除掉的tomcat.png 依然显示出来了。

##子配置文件: 在 conf文件加下 ,配置 xxx.conf 文件依然生效。
在配置文件最近下面 的 } 内加入

   include /etc/nginx/conf/*.conf;   # 表示可以配置子配置文件
 }
server {
        listen 82;
        server_name open.liyuecd.com;
        rewrite ^(.*) https://$server_name$1 permanent;
}

server {
        listen 443;
        server_name open.liyuecd.com;
#       ssl on;
        ssl_certificate /etc/nginx/cert/open/open.liyuecd.com.pem;
        ssl_certificate_key /etc/nginx/cert/open/open.liyuecd.com.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 X-Real_IP $remote_addr;
                proxy_set_header Host $host;
                proxy_set_header X_Forward_For $proxy_add_x_forwarded_for;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection 'upgrade';
                proxy_pass http://47.108.201.110:82/;
        }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值