踩坑:最好装上 PCRE ,不装的话没办法解析 rewrite  !

【错误】nginx: emerg unknown directive rewirte

 

其实只需要安装 这个包即可: https://blog.csdn.net/zzddada/article/details/116989173

 


不加--without-http_rewrite_module这个参数时就是启动URL重写,所以需要pcre

所以修改 编译安装的命令,忽略安装即可

./configure --with-http_stub_status_module --without-http_rewrite_module --prefix=/usr/local/nginx

 

可以不安装,不影响使用

nginx 编译不添加重写模块--without-http_rewrite_module
配置nginx时加上--without-http_rewrite_module这个参数,就不需要安装pcre

不加--without-http_rewrite_module这个参数时就是启动URL重写,所以需要pcre

./configure --with-http_stub_status_module --without-http_rewrite_module --prefix=/usr/local/nginx

————————————————
 


linux下安装nginx error: the HTTP rewrite module requires the PCRE library.

 

linux系统为Centos 64位

第一步:从http://nginx.org/download/上下载相应的版本(或者wget http://nginx.org/download/nginx-1.5.9.tar.gz直接在Linux上用命令下载)

第二步:解压 tar -zxvf nginx-1.5.9.tar.gz 

第三步:设置一下配置信息 ./configure --prefix=/usr/local/nginx ,或者不执行此步,直接默认配置

第四步:

make 编译 (make的过程是把各种语言写的源码文件,变成可执行文件和各种库文件)

make install 安装 (make install是把这些编译出来的可执行文件和库文件复制到合适的地方)

 

在配置信息的时候,也就是在第三步,出现了一下错误:

错误为:./configure: error: the HTTP rewrite module requires the PCRE library.

安装pcre-devel解决问题
yum -y install pcre-devel

还有可能出现:

错误提示:./configure: error: the HTTP cache module requires md5 functions
from OpenSSL library.   You can either disable the module by using
--without-http-cache option, or install the OpenSSL library into the system,
or build the OpenSSL library statically from the source with nginx by using
--with-http_ssl_module --with-openssl=<path> options.

 

解决办法:

yum -y install openssl openssl-devel

 

安装后在linux下启动和关闭nginx:

启动操作

/usr/nginx/sbin/nginx (/usr/nginx/sbin/nginx -t 查看配置信息是否正确)

 

停止操作
停止操作是通过向nginx进程发送信号(什么是信号请参阅linux文 章)来进行的
步骤1:查询nginx主进程号
ps -ef | grep nginx
在进程列表里 面找master进程,它的编号就是主进程号了。
步骤2:发送信号
从容停止Nginx:
kill -QUIT 主进程号
快速停止Nginx:
kill -TERM 主进程号
强制停止Nginx:
pkill -9 nginx

另外, 若在nginx.conf配置了pid文件存放路径则该文件存放的就是Nginx主进程号,如果没指定则放在nginx的logs目录下。有了pid文 件,我们就不用先查询Nginx的主进程号,而直接向Nginx发送信号了,命令如下:
kill -信号类型 '/usr/nginx/logs/nginx.pid'

平滑重启
如果更改了配置就要重启Nginx,要先关闭Nginx再打开?不是的,可以向Nginx 发送信号,平滑重启。
平滑重启命令:
kill -HUP 住进称号或进程号文件路径

或者使用

/usr/nginx/sbin/nginx -s reload

 

 

注意,修改了配置文件后最好先检查一下修改过的配置文件是否正 确,以免重启后Nginx出现错误影响服务器稳定运行。判断Nginx配置是否正确命令如下:
nginx -t -c /usr/nginx/conf/nginx.conf

或者

/usr/nginx/sbin/nginx -t

 

如下图:

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐