阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

nginx.conf 优化

139次阅读
没有评论

共计 4386 个字符,预计需要花费 11 分钟才能阅读完成。

问题,nginx.conf 文件过长,过大,不方便维护,所以想拆分出来,这样好阅读也好维护。

1,将 nginx 里面关于 weixin 的配置全部剥离出来
如下,这是 nginx.conf 配置文件中的微信配置记录,以后会越来越多的。

 location ~* ^/weixin_g1.*$ {
          include deny.conf;

          proxy_pass http://weixin_web_9600;
          include proxy.conf;

          error_log  logs/weixin_g1_error.log error;
          access_log  logs/weixin_g1_access.log  main;

          include gzip.conf;
        }     

      location ~* ^/weixin_g2.*$ {
          include deny.conf;

          proxy_pass http://weixin_web_9600;
          include proxy.conf;

          error_log  logs/weixin_g2_error.log error;
          access_log  logs/weixin_g2_access.log  main;

          include gzip.conf;
        }     

      location ~* ^/weixin_g3.*$ {
          include deny.conf;

          proxy_pass http://weixin_web_9600;
          include proxy.conf;

          error_log  logs/weixin_g3_error.log error;
          access_log  logs/weixin_g3_access.log  main;

          include gzip.conf;
        }     

      location ~* ^/weixin_g4.*$ {
          include deny.conf;

          proxy_pass http://weixin_web_9600;
          include proxy.conf;

          error_log  logs/weixin_g4_error.log error;
          access_log  logs/weixin_g4_access.log  main;

          include gzip.conf;
        } 

2,将关于 weixin 的配置重新生成一个文件 weixin.conf
vim nginx.conf
然后进入: 编辑行,输入 312,363 weixin.conf,然后回车,就会生成新的文件,如下所示:

[root@nginx_service ~]# vim /tmp/nginx.conf

  1
  2 #user  nginx nginx;
  3 worker_processes  24;
  4
  5 #error_log  logs/error.log;
  ……….
 36      server 10.xx.1.211:8000 max_fails=5 fail_timeout=30s;
 37      server 10.xx.1.212:6100 max_fails=5 fail_timeout=30s;
 38      server 10.xx.1.215:7100 max_fails=5 fail_timeout=30s;
 39      server 10.xx.1.216:7000 max_fails=5 fail_timeout=30s;
 40    }
:312,363 w 1.conf 顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶

3,删除原来的微信配置段落,导入新的 weixin.conf
删除旧的微信段落,在 vim 里面

:312,363d
# 表示从第 312 行到第 363 行记录全部删除掉。如下所示:
330
331            proxy_pass http://OCC_MAP_Web;
332            include proxy.conf;
:312,363d  1
回车键执行,就会提示删除成功,如下所示:

331        location ~* ^/parkingWeb/.*$ {
332            include deny.conf;
少了 52 行 1
之后在原来的后面添加上导入 weixin.conf 的配置

    #weixin config
    include weixin.conf;1
4,重启 nginx,让新的配置生效
[nginx@nginx_service ~]$ service nginx reload
reload nginx
[nginx@nginx_service ~]$

顶 5,附带一些 vim 快捷命令
VI 中的多行删除与复制
法一:
单行删除,:1(待删除行)d
多行删除,:1,10d
法二:
光标所在行,dd
光标所在行以下的 N 行,Ndd
方法 1:
光标放到第 6 行,
输入:2yy
光标放到第 9 行,
输入:p
此方法适合复制少量行文本的情况,复制第 6 行(包括)下面的 2 行数据,放到第 9 行下面。
方法 2:
命令行模式下输入
6,9 co 12
复制第 6 行到第 9 行之间的内容到第 12 行后面。
方法 3:
有时候不想费劲看多少行或复制大量行时,可以使用标签来替代
光标移到起始行,输入 ma
光标移到结束行,输入 mb
光标移到粘贴行,输入 mc
然后 :’a,’b co ‘c 把 co 改成 m 就成剪切了
要删除多行的话,可以用:5, 9 de

VIM 常用命令
常用命令

1) 光标命令
k,j,h,l— 上下左右光标移动命令,虽然可以在 Linux 中使用键盘右边的四个光标键,但是记住这四个命令还有非常有用的,也就是右手在键盘上放置的位置部分
nG —- n 为行数,该命令立即使光标跳到指定行。
Ctrl+G—– 光标所在位置的行数和列数报告
w,b—— 使光标向前或向后跳过一个单词
2) 编辑命令
i,a,r ——- 在光标的前, 后, 上方插入字符命令(i=insert,a=append,r=replace)
cw,dw—— 改变(置换)/ 删除光标所在处的单词的命令 (c=change,d=delete)
x,d$,dd —– 删除一个字符,光标所在处到行尾的所有字符,和整行的命令
3) 查找命令
/string, ?string—– 从光标所在处向后 / 向前查找相应的字符串的命令
4) 拷贝复制命令
yy,p —– 拷贝一行到剪贴板 / 取出剪贴板中内容的命令

常见问题及应用技巧
1) 在一个新文件中读 /etc/passwd 中的内容,取出用户名部分
vi file
:r /etc/passwd 在打开的文件 file 中光标所在处读入 /etc/passwd
:%s/:.*//g 删除 /etc/passwd 中用户名后面的从冒号开始直到行尾的所有部分
:3r /etc/passwd 这是在指定的行号后面读入文件内容
另外一种方法删掉文件中所有的空行及以 #开始的注释行
#cat squid.conf.default | grep -v ‘^$’ | grep -v ‘^#’

2) 在打开一个文件编辑后才知道登录的用户对该文件没有写权,不能存盘
vi file
:w /tmp/1 既然没法存盘,不想放弃所做的所有修改,先临时存到 /tmp/1
:20,59w /tmp/1 或者仅仅把第 20 到 59 行之间的内容存盘成文件 /tmp/1
3) 用 VI 编辑一个文件,但需要删除大段大段的内容
vi file
Ctrl+G 把光标移到需要删除的行的处按 ctrl+ G 显示行号,再到结尾处再按 Ctrl+G.
:23,1045d 假定两次行号为 23 和 1045,则把这几间的内容全删除

也可以在开始和结束两行中用 ma,mb 命令标记后用:’a,’bd 删除.
4) 在整个文件或某几行中在行首或行尾加一些字符串
vi file
:3,$s/^/some string / 在文件的第一行至最后一行的行首前插入 some string
:%s/$/ some string/g 在整个文件每一行的行尾添加 some string

:%s/string1/string2/g 在整个文件中替换 string1 成 string2
:3,7s/string1/string2/ 仅替换文件中的第三到七行中的 string1 成 string2

Note: s 为 substitute,% 表示所有行,g 表示 global

5) 同时编辑两个文件, 在两个文件中拷贝剪贴文本
vi file1 file2
yy 同时打开两个文件, 在文件 1 的光标所在处拷贝所在行
:n 切换到文件 2 (n=next)
p 在文件 2 的光标所在处粘贴所拷贝的行
:N 切换回文件 1
6) 替换文件中的路径

:%s#/usr/bin#/bin#g 把文件中所有路径 /usr/bin 换成 /bin
或者用
:%s//usr/bin//bin/g 在 ’/’ 前用符号指出 ’/’ 是真的单个字符 ’/’
7) 用 vi 多行注释
如果要给多行程序作注释,一个笨办法就是 插入 #,然后用 j 跳到下一行用 . 命令,重复上个命令。如果要注释几百行,这样的方法恐怕太愚蠢了。一个聪明的办法是:
:.,+499 s/^/#/g
若需全文的行首插入可用以下命令
:%s/^/#/g

更多 Nginx 相关教程见以下内容

CentOS 6.2 实战部署 Nginx+MySQL+PHP http://www.linuxidc.com/Linux/2013-09/90020.htm

使用 Nginx 搭建 WEB 服务器 http://www.linuxidc.com/Linux/2013-09/89768.htm

搭建基于 Linux6.3+Nginx1.2+PHP5+MySQL5.5 的 Web 服务器全过程 http://www.linuxidc.com/Linux/2013-09/89692.htm

CentOS 6.3 下 Nginx 性能调优 http://www.linuxidc.com/Linux/2013-09/89656.htm

CentOS 6.3 下配置 Nginx 加载 ngx_pagespeed 模块 http://www.linuxidc.com/Linux/2013-09/89657.htm

CentOS 6.4 安装配置 Nginx+Pcre+php-fpm http://www.linuxidc.com/Linux/2013-08/88984.htm

Nginx 安装配置使用详细笔记 http://www.linuxidc.com/Linux/2014-07/104499.htm

Nginx 日志过滤 使用 ngx_log_if 不记录特定日志 http://www.linuxidc.com/Linux/2014-07/104686.htm

Nginx 的详细介绍:请点这里
Nginx 的下载地址:请点这里

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-01/126992.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计4386字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中