设为首页 收藏本站
查看: 1377|回复: 0

[经验分享] Nginx初识

[复制链接]

尚未签到

发表于 2018-11-14 08:34:03 | 显示全部楼层 |阅读模式
  configure脚本:
  1、cat >test.txt
  EOF
  多行追加
  2、uname
  用于打印当前操作系统的相关信息
  3、2>/dev/null
  /dev/null 代表空设备文件
  1 表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于"1>/dev/null"
  2 表示stderr标准错误
  & 表示等同于的意思,2>&1,表示2的输出重定向等同于1
  4、configure脚本生成的文件
  默认在obj/
  |---ngx_auto_headers.h    保存了宏
  |---autoconf.err    保存configure执行过程中产生的结果
  |---ngx_auto_config.h        保存了宏
  |---ngx_modules.c   关键文件,定义了ngx_modules数组,该数组指明了每个模块在Ngnix中的优先级
  |---src    存放编译时产生的目标文件
  |        |---core
  |        |---event
  |        |        |---modules
  |        |---os
  |        |        |---unix
  |        |        |---win32
  |        |---http
  |        |        |---modules
  |        |                |---perl
  |        |---mail
  |        |---misc
  |---Makefile    编译Nginx工程、在加入install参数后安装Nginx
  Nginx的命令行控制:
  1、默认启动方式
  直接执行nginx二进制程序
  /usr/local/nginx/sbin/nginx
  不加参数默认读取 默认路径下的配置文件/use/local/nginx/conf/nginx.conf
  2、另行指定配置文件
  /usr/local/nginx/sbin/nginx -c /tmp/nginx.conf
  此时会读取-c 后面的文件来启动Nginx
  3、另行指定安装目录
  -p
  4、另行指定全局配置项
  /usr/local/nginx/sbin/nginx -g "pid /var/nginx/test.pid;"会把pid文件写到test.pid中
  -g的一个约束条件是指定的配置项不能与默认路径下的nginx.conf中的配置项冲突,具体可查看/usr./ocal/nginx/conf/nginx.conf文件内容;另一个约束条件是以-g方式启动的Nginx服务在执行其他命令时,需把-g参数也带上,否则可能出现配置项不匹配的情形
  5、测试配置信息是否有错误
  /usr/local/nginx/sbin/nginx  -t
  6、在测试配置阶段不输出信息
  /usr/local/nginx/sbin/nginx  -t -q
  7、显示Nginx版本信息
  /usr/local/nginx/sbin/nginx  -v
  8、显示版本信息和编译阶段的参数
  /usr/local/nginx/sbin/nginx  -V
  9、快速地停止服务
  /usr/local/nginx/sbin/nginx -s stop
  强制停止Nginx服务, -s告诉Nginx程序向正在运行的Nginx服务发送信号量,Nginx程序会通过/usr/local/nginx/logs/nginx.pid文件获取master进程的ID,再向master进程发送TERM信号来快速关闭Nginx服务
  效果和kill -s SIGTERM  一样
  worker进程与master进程收到信号后会立刻跳出循环,退出进程
  10、“优雅”地停止服务
  /usr/local/nginx/sbin/nginx -s quit
  会发送QUIT信号给master进程    效果和kill-s SIGQUIT  一样
  首先会关闭监听端口,停止接收新的连接,然后把当前正在处理的连接全部处理完,最后再退出进程
  11、使运行中的Nginx重读配置项并生效

  /usr/local/nginx/sbin/nginx -s>  Nginx会先检查配置项是否有误,如果正确则以“优雅”的方式关闭,在重新启动Nginx
  效果同kill -s SIGHUP
  12、日志文件回滚
  /usr/local/nginx/sbin/nginx -s reopen
  重新打开日志文件,这样可以先把当前日志文件改名或转移到其他目录中进行备份,再重新打开时就会生成新的日志文件
  13、平滑升级Nginx
  当服务器升级到新版本时,必须将旧的二进制文件替换掉,nginx支持不重启服务完成过新版本的平滑升级
  1、通知正在运行的旧版本Nginx准备升级,向master进程发送USER2信号
  kill -s SIGUSER2
  这时会重命名/usr/local/nginx/logs/nginx.pid为/usr/local/nginx/log/nginx.pid.oldbin
  2、以以上方式的任一种启动新版本的Nginx,这时通过ps可看到旧版本的服务还在运行
  3、通过kill向旧版本master进程发送SIGQUIT信号即可,以“优雅”方式关闭
  14、显示命令行帮助
  /usr/local/nginx/sbin/nginx -h
  /usr/local/nginx/sbin/nginx -?
  关闭80端口
  fuser -k 80/tcp


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-634775-1-1.html 上篇帖子: nginx 404 下篇帖子: nginx rewrite-test
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表