您的位置:首页 > 运维架构 > Nginx

nginx 编译安装,服务查看启停,以及模块的追加编译

2014-02-14 17:32 513 查看
nginx 的编译安装
在装nginx 之钱确保gcc、OpenSSL、pcre、pcre-devel 的安装
rpm -aq gcc OpenSSL pcre zlib-devel

环境准备
yum install gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel -y

安装nginx 时的磁盘目录的规划
1>nginx 源码的存放路径
nginx 的源码文件,以及第三方模块源代码,便于以后nginx 的追加编译以及管理
2>nginx 编译阶段产生的中间件文件目录
该目录用于放置在configure 命令执行后所生成的源文件以及目录configure 命令会将该目录命名为objs,并放在nginx源代码目录下
3>部署目录
该目录是nginx 实际运行时,服务器所需要的二进制文件和配置文件等,
4>日志文件存放目录
合理分配日文文件存放目录,例如debug,access,error 日志,便于分析解决问题。

1.tar zxf ngx_cache_purge-1.4.tar.gz

2.tar zxf pcre-8.12.tar.gz
cd pcre-8.12
./configure
make && make install
cd ..

3.tar zxf nginx-1.0.6.tar.gz
cd nginx-1.0.6
./configure --user=www --group=www --add-module=../ngx_cache_purge-1.4 --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=../pcre-8.12
make ; make install
-------------------------------------------------------------------------------------------------------------------------------
nginx 的启停

本项目的nginx 的安装位置
/usr/local/nginx/
检查nginx 配置文件的拼写
/usr/local/nginx/sbin/nginx -t
显示nginx 的版本
/usr/local/nginx/sbin/nginx -v

启动
/usr/local/nginx/sbin/nginx

检查nginx 配置文件是否有错误
/usr/local/nginx/sbin/nginx -ct, "-t" 检查nginx 服务器配置文件是否有语法错误,可以和-c 连用,使的内容更加的详细,利于对
文件的修改。

平滑重启
kill -HUP `cat /usr/local/nginx/logs/nginx.pid`

kill 来关闭进程
kill -xxx pid
其中,xxx 就是信号名,pid 是nginx 的进程号,可以通过如下获得
ps -ef |grep "nginx: master process"|grep -v ''grep"|awk -F ' ' '{print $2}' 等同于cat /usr/local/nginx/logs/nginx.pid

-xxx
QUIT,表示处理完进程请求后,关闭进程
TERM/TNT,用于快速停止。
HUP,表示重新加载配置,也就是关闭原有的进程,并开启新的工作进程
USER1 ,用于nginx 的日志切换,也就是重新打开一个日志文件
USER2 ,用于平滑升级可执行程序。

nginx -g 来停止nginx 服务
./sbin/nginx -g TERM|TNT|QUIT 其中,TERM 和TNT 信号用于快速停止,quit 用于平缓停止
---------------------------------------------------------------------------------------
nginx 模块的追加编译安装

4.nginx 的模块的追加编译
找到安装nginx的源码根目录,如果没有的话下载新的源码
http://nginx.org
tar xvzf nginx-1.3.2.tar.gz

查看ngixn版本极其编译参数

/usr/local/nginx/sbin/nginx -V

进入nginx源码目录

cd nginx-1.3.2

以下是重新编译的代码和模块

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-file-aio --with-http_realip_module

make 千万别make install,否则就覆盖安装了

make完之后在objs目录下就多了个nginx,这个就是新版本的程序了

备份旧的nginx程序

cp /usr/local/nginx/sbin/nginx/usr/local/nginx/sbin/nginx.bak

把新的nginx程序覆盖旧的

cp objs/nginx /usr/local/nginx/sbin/nginx

测试新的nginx程序是否正确

/usr/local/nginx/sbin/nginx -t

nginx: theconfiguration file /usr/local/nginx/conf/nginx.conf syntax is ok

nginx:configuration file /usr/local/nginx/conf/nginx.conf test issuccessful

平滑重启nginx

/usr/local/nginx/sbin/nginx -s reload

查看ngixn版本极其编译参数

/usr/local/nginx/sbin/nginx -V

以下是重新编译的代码:

./configure --prefix=/usr/local/nginx --with-google_perftools_module --user=www --group=www --with-http_stub_status_module --with-http_gzip_static_module --with-openssl=/usr/ --with-pcre=/mydata/soft/pcre-8.31

本文出自 “好学力行” 博客,请务必保留此出处http://eagleheart.blog.51cto.com/775380/1359287
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: