当前位置: 首页 > news >正文

帝国网站后台编辑器没有了/长沙靠谱的关键词优化

帝国网站后台编辑器没有了,长沙靠谱的关键词优化,房产中介在线咨询,设计上海2020一、安装第三方模块nginx本身自带的功能比较少,但之所以nginx仍然这么强大,因为它支持第三方模块。这里我们以安装echo-nginx-module模块为例。未安装echo-nginx-module这个模块的情况下,在nginx配置文件中如果使用"ehco"命令&…

一、安装第三方模块

nginx本身自带的功能比较少,但之所以nginx仍然这么强大,因为它支持第三方模块。

这里我们以安装echo-nginx-module模块为例。未安装echo-nginx-module这个模块的情况下,在nginx配置文件中如果使用"ehco"命令,就会出现unknown directive "echo"的报错。起初我也不明白这是什么情况,最后百度才知道是缺少echo-nginx-module这个模块。

首先需要下载echo-nginx-module模块的tar.gz包到本地。点击这里进入下载界面!

#复制链接地址后,使用wget工具下载到本地/usr/local/src目录下

[root@nginx-server ~]# cd /usr/local/src/ #进入/usr/local/src/目录下

[root@nginx-server src]# wget https://github.com/openresty/echo-nginx-module/archive/v0.62.tar.gz #下载0.62版本

[root@nginx-server src]# ls

v0.62.tar.gz

下载完成后,将其解压。

[root@nginx-server src]# tar xf v0.62.tar.gz #解压安装包

[root@nginx-server src]# ls

echo-nginx-module-0.62 v0.62.tar.gz

1、未安装nginx的情况下安装第三方模块

[root@nginx-server nginx-1.18.0]# ./configure \ #配置

> --prefix=/usr/local/nginx \ #指定安装路径

> --add-module=/usr/local/src/echo-nginx-module-0.62 #安装第三方模块

[root@nginx-server nginx-1.18.0]# make #编译

[root@nginx-server nginx-1.18.0]# make install #安装

[root@nginx-server nginx-1.18.0]# /usr/local/nginx/sbin/nginx #启动nginx

2、已安装nginx的情况下安装第三方模块

[root@nginx-server ~]# nginx -V #查看之前的安装信息

nginx version: nginx/1.18.0

built by gcc 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC)

configure arguments: --prefix=/usr/local/nginx #这条便是上次安装所配置的参数,可以复制使用哦!

[root@nginx-server nginx-1.18.0]# ./configure \ #重新进行编译配置

> --prefix=/usr/local/nginx/ \

> --add-module=/usr/local/src/echo-nginx-module-0.62 #安装第三方模块

[root@nginx-server nginx-1.18.0]# make #编译,切记没有make install

[root@nginx-server nginx-1.18.0]# cp objs/nginx /usr/local/nginx/sbin/nginx #将编译目录下objs/nginx文件直接覆盖老的 nginx文件

cp:是否覆盖"/usr/local/nginx/sbin/nginx"? y

[root@nginx-server nginx-1.18.0]# /usr/local/nginx/sbin/nginx -s reload #重载nginx

tips:重新编译的时候,记得使用nginx -V查看之前的配置,把以前编译过的模块一同加到configure参数中。

二、平滑升级

1、什么是平滑升级?

平滑升级是指在线上业务不停止的情况下,进行nginx的升级。nginx方便的帮助我们实现平滑升级,其过程简单概括,就是:

① 在不停掉老进程的情况下,启动新进程。

② 老进程负责处理任然没有处理完的请求,但不在接受处理请求。

③ 新进程接受新请求。

④ 老进程处理完所有请求,关闭所有连接后停止。

⑤ 这样就很方便的实现了平滑升级。一般有两种情况下需要升级nginx,一种是确实需要升级nginx的新版本,另一种是要为nginx添加新模块。

2、信号的接受和处理

① 主进程支持的信号

信 号解 释TERM,INT立即退出

QUIT等待工作进程结束后再退出

KILL强制终止进程

HUP重新加载配置文件,使用新的配置文件启动进程,并逐步关闭旧进程

USR1重新打开日志文件

USR2启动新的主进程,实现热升级

WINCH逐步关闭工作进程

② 工作进程支持的信号

信 号解 释TERM,INT立即退出

QUIT等待请求结束后在退出

USR1重新打开日志文件

3、实例

注:本篇以 Nginx-1.14.2 → Nginx-1.18.0 为例进行演示。

① 处理防火墙

[root@nginx-server ~]# systemctl stop firewalld #关闭firewalld防火墙

[root@nginx-server ~]# systemctl disable firewalld #开机不自启

[root@nginx-server ~]# setenforce 0 #关闭selinux防火墙(临时生效)

[root@nginx-server ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config #关闭selinux防火墙(永久生效,通常需要重启生效,这里与临时生效配合使用,相当于开机不自启)

② 编译安装nginx-1.14.2

#安装依赖

[root@nginx-server ~]# yum install gcc-c++ openssl openssl-devel zlib zlib-devel pcre pcre-devel -y

#将rpm包下载到/usr/local/src/目录下

[root@nginx-server ~]# cd /usr/local/src/ //进入/usr/local/src目录下

[root@nginx-server src]# [root@localhost ~]# wget http://nginx.org/download/nginx-1.14.2.tar.gz //下载rpm包

#进行安装前的准备

[root@nginx-server src]# groupadd -r nginx //创建nginx用户组

[root@nginx-server src]# useradd -r -g nginx nginx //创建nginx用户

[root@nginx-server src]# tar zxvf nginx-1.14.2.tar.gz -C /usr/local/src //解压安装包

#进行安装

[root@nginx-server src]# cd nginx-1.14.2

[root@nginx-server src]# ./configure --prefix=/opt/data/nginx --user=nginx --group=nginx --with-http_stub_status_module //配置

[root@nginx-server nginx-1.14.2]# make && make install //编译并安装

#启动nginx

[root@server03 nginx-1.14.2]# /opt/data/nginx/sbin/nginx

#查看是否启动成功

[root@server03 nginx-1.14.2]# ps -ef | grep nginx

root 9783 1 0 16:54 ? 00:00:00 nginx: master process /opt/data/nginx/sbin/nginx

nginx 9784 9783 0 16:54 ? 00:00:00 nginx: worker process

root 9792 7097 0 16:54 pts/0 00:00:00 grep --color=auto nginx

③ 查看已安装nginx的版本及安装模块

[root@server03 nginx-1.14.2]# /opt/data/nginx/sbin/nginx -V

nginx version: nginx/1.14.2

built by gcc 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC)

configure arguments: --prefix=/opt/data/nginx --user=nginx --group=nginx --with-http_stub_status_module

④ 备份已安装nginx文件

[root@nginx-server ~]# cp /opt/data/nginx/sbin/nginx /opt/data/nginx/sbin/nginx_$(date '+%F')

[root@nginx-server ~]# cp /opt/data/nginx/conf/nginx.conf /opt/data/nginx/conf/nginx.conf_$(date '+%F')

⑤ 模拟工作状态

#用另一个终端进行脚本循环测试,让nginx一直处于工作状态

[root@server01 ~]# while true ;do curl 192.168.140.131 ;sleep 5 ;done

⑥ 编译安装nginx-1.18.0

#将rpm包下载到/usr/local/src/目录下

[root@nginx-server ~]# cd /usr/local/src/ //进入/usr/local/src目录下

[root@nginx-server src]# wget http://nginx.org/download/nginx-1.18.0.tar.gz //下载rpm包

#进行安装

[root@nginx-server src]# cd nginx-1.18.0

[root@nginx-server src]# ./configure --prefix=/opt/data/nginx --user=nginx --group=nginx --with-http_stub_status_module //配置

[root@nginx-server nginx-1.14.2]# make && make install //编译并安装

⑦ 发送USR2信号

#向主进程发送USR2信号,Nginx会启动一个新版本的Master进程和工作进程,和旧版本一起处理请求。

[root@nginx-server nginx-1.18.0]# ps -ef | grep nginx | grep -v grep

root 9783 1 0 16:54 ? 00:00:00 nginx: master process /opt/data/nginx/sbin/nginx #主进程

nginx 9784 9783 0 16:54 ? 00:00:00 nginx: worker process

[root@nginx-server nginx-1.18.0]# kill -USR2 9783

[root@nginx-server nginx-1.18.0]# ps -ef | grep nginx | grep -v grep

root 9783 1 0 16:54 ? 00:00:00 nginx: master process /opt/data/nginx/sbin/nginx

nginx 9784 9783 0 16:54 ? 00:00:00 nginx: worker process

root 12462 9783 0 17:11 ? 00:00:00 nginx: master process /opt/data/nginx/sbin/nginx

nginx 12463 12462 0 17:11 ? 00:00:00 nginx: worker process

⑧ 发送WINCH信号

#向原Nginx主进程发送WINCH信号,它会逐步关闭其下的工作进程(主进程不退出),这时所有请求都会由新版本处理。

[root@nginx-server nginx-1.18.0]# kill -WINCH 9783

[root@nginx-server nginx-1.18.0]# ps -ef | grep nginx | grep -v grep #原nginx的工作进程已经退出

root 9783 1 0 16:54 ? 00:00:00 nginx: master process /opt/data/nginx/sbin/nginx

root 12462 9783 0 17:11 ? 00:00:00 nginx: master process /opt/data/nginx/sbin/nginx

nginx 12463 12462 0 17:11 ? 00:00:00 nginx: worker process

⑨ 发送HUP信号(非必须,看情况)

#如果需要回滚操作,可向原Nginx主进程发送HUP信号,它会重新启动工作进程,仍使用旧版本配置文件。然后可以将新版本Nginx进程杀死(使用QUIT,TERM,或者KIll)

⑩ 杀死原Nginx主进程,升级结束

[root@nginx-server nginx-1.18.0]# kill 9783 #杀死原Nginx主进程

[root@nginx-server nginx-1.18.0]# ps -ef | grep nginx | grep -v grep

root 12462 1 0 17:11 ? 00:00:00 nginx: master process /opt/data/nginx/sbin/nginx

nginx 12463 12462 0 17:11 ? 00:00:00 nginx: worker process

[root@nginx-server nginx-1.18.0]# /opt/data/nginx/sbin/nginx -V #查看现在的Nginx版本

nginx version: nginx/1.18.0

built by gcc 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC)

configure arguments: --prefix=/opt/data/nginx --user=nginx --group=nginx --with-http_stub_status_module

本文地址:https://blog.csdn.net/weixin_43898125/article/details/108072445

希望与广大网友互动??

点此进行留言吧!

相关文章: