CentOS7上Nginx的使用

Nginx 的启动

指定配置文件的方式启动nginx

# nginx -c /etc/nginx/nginx.conf

对于yum安装的nginx,使用systemctl命令启动

# systemctl start nginx

Nginx 的停止

从容停止

kill -QUIT Nginx主进程号

快速停止nginx

kill -TERM Nginx主进程号

强制停止所有nginx进程

pkill -9 nginx

Nginx的平滑重启

在修改了nginx配置文件后,在重启nginx之前,需要确认nginx配置文件的语法是否正确,可执行以下命令检测

# nginx -t -c /etc/nginx/nginx.conf

如上没有错误的话,就可以平滑重启了

# nginx -s reload

或者

kill -HUP Nginx主进程号

Nginx的平滑升级

对于编译安装的nginx,可以将新版本编译安装到旧版本的nginx安装路径中。替换之前,最好备份一下旧的可执行文件。

下载新版本nginx
# wget http://nginx.org/download/nginx-1.9.14.tar.gz

获取旧版本nginx的configure选项
# nginx -V

编译新版本nginx
# tar -zxvf nginx-1.9.14.tar.gz
# cd nginx-1.9.14
# ./configure --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-http_auth_request_module --with-mail --with-mail_ssl_module --with-file-aio --with-ipv6 --with-http_v2_module --with-cc-opt=‘-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic‘
# make

备份旧版本nginx可执行文件,使用新版本nginx可执行文件替代旧的可执行文件
# mv /usr/sbin/nginx /usr/sbin/nginx.old
# cp objs/nginx /usr/sbin/nginx

测试新版本nginx是否正常

nginx –t –c /etc/nginx/nginx.conf

平滑升级nginx,旧版本Nginx的pid变为oldbin,此时旧版本和新版本的nginx同时运行,共同处理完用户请求

kill -USR2 `cat /var/run/nginx.pid`

从容关闭旧版本的nginx进程

kill -WINCH `cat /var/run/nginx.oldbin`

一段时间后,旧版本的nginx进程处理了所有已连接的请求后退出,仅由新版本的nginx进程来处理输入的请求了,可以通过以下命令查看

# ps -ef | grep nginx

这时候,我们可以决定是使用新版本,还是恢复到旧版本

kill -HUP 旧的主进程号 :Nginx在不重载配置文件的情况下启动他的工作进程
kill -QUIT 新的主进程号  :从容关闭其工作进程
kill -TERM 新的主进程号 :强制退出
kill 新的主进程号或旧的主进程号:如果因为某些原因新的工作进程不能退出,则向其发送kill信号

新的主进程退出后,旧的主进程会移除 .oldbin 后缀,恢复为它 的 .pid 文件,这样,一切就恢复到升级之前了。

如果尝试升级成功,而你也希望保留新的服务器时,可发送 QUIT 信号给旧的主进程,使其退出而只留下新的服务器运行。

时间: 2024-10-13 23:24:13

CentOS7上Nginx的使用的相关文章

centos7 上nginx php环境的搭建

第一步:修改nginx.conf的配置,以nginx.conf.default为参考. #修改nginx运行账号为:nginx组的nginx用户user nginx nginx; 将nginx.conf.default中的 1 和2两个部分复制到nginx.conf中,注意在1中增加index.php,将2中的#得去掉,还的将fastcgi_param行的参数,改为$document_root$fastcgi_script_name,或者使用绝对路径. 第二步:修改php-fpm.conf vi

Centos7上 Nginx + ELK Stack +Kafka + Filebeat 实战 一

之前有导读部分内容,介绍了elk的及kafka的前世今生及优点,各位客官可以点击这里访问,欢迎大家批评指正交流学习共同进步:(http://blog.51cto.com/seekerwolf/2085891)OS:Centos 7 ELK Stack : 6.2.2 安装方式:源码安装我的日志收集系统是基于这样的架构来做,前端代理使用Nginx,然后是ELK 的全家桶,文件收集使用filebeat来搞定:一,系统优化,在安装ES 的主机上需要作如下系统级别的优化工作,不然启动ElasticSea

在Centos7上搭建Nginx+rtmp服务器

在VPS服务器上配置一个直播环境,在iOS客户端实现推流到直播服务器,通过VLC播放器实现拉取服务器上的流观看直播. 效果图 Demo_01 Centos7上搭建Nginx+rtmp服务器 今天第一次在Centos7上搭建Nginx+rtmp服务器,以前在Mac上成功搭建,所以今天想在Centos7上试一试,在此记录一下,过程还是比较顺利. (1)准备需要的模块及工具(nginx-rtmp-module,openssl和git) 1.使用yum安装git [root~]# yum -y inst

CentOS7 下 Nginx + Tomcat 实现 Session 共享

在之情的文章中搭建的 centos7 + tomcat + nginx 的环境的基础上, 使用 redis 实现 tomcat 的 session 共享的问题. 一 : 安装 Redis 安装 gcc: yum install -y gcc-c++ 使用 FTP 服务器上传安装包,解压上传的 redis 的包 tar -zxvf redis-3.0.0.tar.gz 进入解压目录 redis-3.0.0 执行 make PREFIX=/usr/local/redis install 把 redi

VMware虚拟机中的CentOS7安装Nginx后本机无法访问的解决办法

在虚拟机centos7上安装nginx之后虚拟机内能访问,真机不能访问,修改iptables配置也不起作用,最后上网查找了资料后才发现centos的防火墙改成了firewall,不再叫iptables,开放端口的方法如下: firewall-cmd --zone=public --add-port=80/tcp --permanent 命令含义: –zone #作用域 –add-port=80/tcp #添加端口,格式为:端口/通讯协议 –permanent #永久生效,没有此参数重启后失效 重

centos7上systemd详解

centos7上systemd详解 发表于 2016-06-07 |  分类于 linux CentOS 7继承了RHEL 7的新的特性,例如强大的systemd, 而systemd的使用也使得以往系统服务的/etc/init.d的启动脚本的方式就此改变, 也大幅提高了系统服务的运行效率.但服务的配置和以往也发生了极大的不同,同时变的简单而易用了许多. CentOS 7的服务systemctl脚本存放在:/usr/lib/systemd/,有系统 system 和用户 user 之分, 即:/u

PJzhang:centos7上LNMP方式安装dvwa漏洞测试环境

猫宁!!! 参考链接:https://www.jianshu.com/p/5491ce5bfbac https://www.cnblogs.com/wujuntian/p/8183952.html https://www.cnblogs.com/lonnie/p/9027566.html https://stackoverflow.com/questions/34274492/dvwa-setup-php-function-allow-url-include-disabled/34540293

在 CentOS7 上安装 MySQL5.7

在 CentOS7 上安装 MySQL5.7 1 通过 SecureCRT 连接到阿里云 CentOS7 服务器: 2 进入到目录 /usr/local/ 中:cd /usr/local/ 3 创建目录 /usr/local/tools,如果有则忽略: mkdir -p tools 4 创建 /usr/local/mysql 目录,如果已存在则忽略:mkdir -p mysql 5 进入到目录 /usr/local/tools 中:cd tools/ 6 查看系统中是否已安装 MySQL 服务:

在 CentOS7 上安装 zookeeper-3.4.9 服务

在 CentOS7 上安装 zookeeper-3.4.9 服务 1.创建 /usr/local/services/zookeeper 文件夹: mkdir -p /usr/local/services/zookeeper 2.进入到 /usr/local/services/zookeeper 目录中: cd /usr/local/services/zookeeper 3.下载 zookeeper-3.4.9.tar.gz: wget https://mirrors.tuna.tsinghua.