1、安装前环境准备
首先确认是不是有安装编译包和一些依赖包
#yum install gcc gcc-c++ openssl openssl-devel zib-devel zib
2. 新建/opt/nginx目录。下载nginx-1.3.9.tar.gz,运行“tar -zxvf nginx-1.3.9.tar.gz”进行解压。
mkdir opt/nginx
cd opt/nginx
wget http://nginx.org/download/nginx-1.3.9.tar.gz
tar xf nginx-1.3.9.tar.gz
3. 切换到/opt/nginx/nginx-1.3.9目录下,运行./configure进行初始化配置。如出现下面的提示,说明该机器没有安装PCRE,而Nginx需要依赖PCRE,需要手动安装PCRE,见 http://www.linuxidc.com/Linux/2015-03/114986.htm。
下载pcre:https://sourceforge.net/projects/pcre/files/pcre/
解压: unzip pcre-8.38.zip
chmod -R 777 /pcre-8.38
cd pcre-8.38
./configure
make
make install
4. 安装完PCRE后,再次运行./configure进行初始化即可。注意这里生成的配置文件,尤其箭头所指的方向,是启动nginx时的路径。
5. 运行 make install 进行编译。
6. 切换到步骤4生成的nginx运行目录下(/usr/local/nginx/sbin/nginx),运行./nginx,启动Nginx。
如出现下面所述的错误,在已安装PCRE库的情况下,需要配置PCRE共享库。参见http://www.iitshare.com/error-while-loading-shared-libraries-libpcre-so-1.html
./nginx: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
从错误看出是缺少lib文件导致,进一步查看下
[root@localhost nginx-1.3.0]# ldd $(which /usr/local/nginx/sbin/nginx)
linux-vdso.so.1 => (0x00007fff4d5ff000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fea7e357000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007fea7e120000)
libpcre.so.1 => not found
libz.so.1 => /lib64/libz.so.1 (0x00007fea7df09000)
libc.so.6 => /lib64/libc.so.6 (0x00007fea7db76000)
/lib64/ld-linux-x86-64.so.2 (0x00007fea7e57d000)
libfreebl3.so => /lib64/libfreebl3.so (0x00007fea7d913000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007fea7d70f000)
可以看出 libpcre.so.1 => not found 并没有找到,进入/lib64目录中手动链接下
[root@localhost /]# cd lib64/
[root@localhost lib64]# ln -s libpcre.so.0.0.1 libpcre.so.1
然后启动nginx就ok了
7. 在浏览器中输入IP:端口号,出现如下图所示,说明安装成功。
如出现nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)。可能是端口号被占用,切换到/usr/local/nginx/conf/目录下,更改nginx.conf下的端口号。也有可能是不小心nginx重启了多次,关闭nginx进程,重启即可。
8. 关闭Nginx
使用 ps -ef|grep nginx 查看nginx的进程,可以看到nginx有两个进程:
[root@linuxidc sbin]# ps -ef|grep nginx
root 7276 1 0 14:21 ? 00:00:00 nginx: master process ./nginx
www 7277 7276 0 14:21 ? 00:00:00 nginx: worker process
root 7279 5197 0 14:21 pts/1 00:00:00 grep nginx
8.1 从容停止nginx
kill - QUIT nginx 主进程号
8.2 停止nginx所有进程
[root@linuxidc sbin]# pkill -9 nginx