博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
nginx配置及操作简要记录
阅读量:5980 次
发布时间:2019-06-20

本文共 4804 字,大约阅读时间需要 16 分钟。

hot3.png

    因为目前项目中服务多是用nginx进行均衡负载的,所以这里记录下,为以后备查。

如下:

nginx安装目录:/root/softwate/nginx

nginx可执行文件目录:/root/softwate/nginx/sbin/nginx

nginx配置文件目录:/root/softwate/nginx/conf/nginx.conf

nginx的配置文件如下:

#用户,一般不用配置,我测试用的root 需要指定下rootuser root;#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 process进程的最大并发链接数     worker_connections  1024;}http {	#设定mime类型,类型由mime.type文件定义    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 sendfile: 设置为on表示启动高效传输文件的模式    #对于普通应用,设为 on,    #如果用来进行下载等应用磁盘IO重负载应用,可设置为 off,    #这个参数不开启,会先在用户空间(Nginx进程空间)申请一个buffer    #用read函数把数据从磁盘读到cache,再从cache读取到用户空间的buffer    #再用write函数把数据从用户空间的buffer写入到内核的buffer,最后到tcp socket    #开启这个参数后可以让数据不用经过用户buffer    sendfile        on;    #tcp_nopush     on;			#连接超时时间    #keepalive_timeout  0;    keepalive_timeout  65;    	#开启gzip压缩      #gzip  on;			#upstream服务器,轮询机制,均衡负载,以权重的方式分发,weight是权重	#权重越大则分配的可能行越大    #这里后端服务只有一个,所以都会分发到哪一个上    upstream  test {                 server 172.21.0.5:8081 weight=10;    }	#虚拟主机配置    server {    	#监听80端口        listen       80;        #定义访问地址,可以有多个,用空格分隔        server_name  localhost;        #charset koi8-r;        		#虚拟主机的访问日志        #access_log  logs/host.access.log  main;						#默认请求        location / {            #root   html;            #默认访问目录            root   /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 {            root   html;        }						#配置访问静态文件	    #配置访问url中包含test的静态文件		location ~ ^/test/.*\.(gif|bmp|jpg|jpeg|png|swf|GIF|BMP|JPG|JPEG|PNG)$ {             #文件目录             root /root/html;          }						#启用反向代理,配置服务		#分发处理带有test的url请求        location ~ /(test)/.*$ {        		#分发到upstream服务test ,也可以直接指定http://ip:port 如172.21.0.5:8081                proxy_pass http://test;                proxy_redirect off;                proxy_http_version 1.1;                proxy_set_header Host $host:$server_port;                #后端的Web服务器可以通过X-Forwarded-For获取用户真实IP                proxy_set_header X-Forwarded-For $remote_addr;                proxy_set_header connect "";                #以下可选,为反向代理配置                client_max_body_size 30m; #允许客户端请求的最大单文件字节数                client_body_buffer_size 1024k; #缓冲区代理缓冲用户端请求的最大字节数                proxy_connect_timeout 60; #nginx跟后端服务器连接超时时间(代理连接超时)                 proxy_send_timeout 120; #后端服务器数据回传时间(代理发送超时)                proxy_read_timeout 120; #连接成功后,后端服务器响应时间(代理接收超时)                  proxy_buffer_size 128k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小                proxy_buffers 8 128k; #proxy_buffers缓冲区,网页平均在32k以下的设置                proxy_busy_buffers_size 128k; #高负荷下缓冲大小(一般proxy_buffers*2)          }    }}

nginx服务的操作命令:

以下命令都是按照我安装的nginx目录操作,具体要根据自己的实际修改。

1、验证nginx的配置是否有问题。在启动nginx或者重新加载ng配置之前,要检测nginx的配置文件是否正常。特别是线上一般都是重新加载ng配置的,防止出问题,一定要检测。

命令:/root/softwate/nginx/sbin/nginx -t -c /root/softwate/nginx/conf/nginx.conf

[root@VM_0_5_centos sbin]# /root/softwate/nginx/sbin/nginx -t -c /root/softwate/nginx/conf/nginx.confnginx: the configuration file /root/softwate/nginx/conf/nginx.conf syntax is oknginx: configuration file /root/softwate/nginx/conf/nginx.conf test is successful[root@VM_0_5_centos sbin]#

2、启动nginx。

命令:/root/softwate/nginx/sbin/nginx -c /root/softwate/nginx/conf/nginx.conf

启动后,一般没有提示,可以自行查看nginx进程

[root@VM_0_5_centos sbin]# /root/softwate/nginx/sbin/nginx -c /root/softwate/nginx/conf/nginx.conf[root@VM_0_5_centos sbin]# [root@VM_0_5_centos sbin]# ps -ef | grep nginxroot     30262     1  0 10:32 ?        00:00:00 nginx: master process /root/softwate/nginx/sbin/nginx -c /root/softwate/nginx/conf/nginx.confroot     30263 30262  0 10:32 ?        00:00:00 nginx: worker processroot     30267 29966  0 10:33 pts/0    00:00:00 grep --color=auto nginx[root@VM_0_5_centos sbin]#

3、重新加载nginx配置。一般修改nginx配置后,重新加载即可,不需要重启。

命令:root/softwate/nginx/sbin/nginx -s reload

[root@VM_0_5_centos sbin]# /root/softwate/nginx/sbin/nginx -s reload[root@VM_0_5_centos sbin]#

重新加载后,一般也没有直接提示,但在是ng的日志中,会有一条日志记录。总之,不熟悉的话,线上要修改前,要做好备份和配置文件校验。

测试:

在nginx默认访问目录/root/html下,生成index.html文件。就是测试,内容随便啦。。。

    
nginx测试首页

这是ng访问测试

然后,浏览器访问ng对应的外网ip和端口口号80(端口也可以不加). 浏览器正常显示nginx测试首页,说明配置正常。

104911_C6MN_2972417.png

其他的服务均衡负载测试,就要和自己服务配合着来了,这里就不放了。

转载于:https://my.oschina.net/u/2972417/blog/1628757

你可能感兴趣的文章
漫谈几种反编译对抗技术
查看>>
CMD 修改Host文件 BAT
查看>>
android幻灯片效果实现-Gallery
查看>>
实现Instagram的Material Design概念设计
查看>>
CentOS 6.x 快速安装L2TP ***
查看>>
一篇文章能够看懂基础源代码之JAVA篇
查看>>
Goldengate双向复制配置
查看>>
Oracle官方内部MAA教程
查看>>
DNS相关配置
查看>>
miniWindbg 功能
查看>>
CF772E Verifying Kingdom
查看>>
第二次冲刺 第七天
查看>>
测试驱动开发
查看>>
【Udacity】线性回归方程 Regression
查看>>
轻松实现远程批量拷贝文件脚本(女学生作品)
查看>>
【沟通之道】头脑风暴-女人的心思你别猜
查看>>
Windows Phone 8 开发资源汇总
查看>>
Git:配置
查看>>
神经系统知识普及
查看>>
Spring可扩展Schema标签
查看>>