CentOS 4.0安装配置Nginx的方法
1.安装说明:
系统环境:centos-4.0
2.依赖的程序
(1). gzip module requires zlib library
(2). rewrite module requires pcre library
(3). ssl support requires openssl library
3.依赖程序的安装有两种方法:一种是下载包安装二是yum一次性安装
(1)zlib安装
下载地址:http://zlib.net/fossils/
$tar -xvzf zlib-1.2.5.tar.gz
$cd zlib-1.2.5.tar.gz
$./configure
$make
$make install
(2)pcre安装
下载地址:http://ftp.exim.llorien.org/pcre/
$tar -xvzf pcre-8.02.tar.gz
$cd pcre-8.02
$./configure --prefix=/usr/local/pcre --enable-utf8 --enable-unicode-properties
$ make && make install
(3)openssl安装
下载地址:http://mirrors.ibiblio.org/openssl/source/
$tar zvxf openssl-1.0.0.tar.gz
$cd openssl-1.0.0
$./config --prefix=/usr/local/ssl-1.0.0 shared zlib-dynamic enable-camellia
$make && make install
(4)nginx安装
下载地址:http://nginx.org/download/
$tar zvxf nginx 0.8.40.tar.gz
$cd nginx 0.8.40
$./configure
$ make
$ make install
更多配置:
./configure --prefix=/usr/local/nginx
--with-openssl=/usr/include (启用ssl)
--with-pcre=/usr/include/pcre/ (启用正规表达式)
--with-http_stub_status_module (安装可以查看nginx状态的程序)
--with-http_memcached_module (启用memcache缓存)
--with-http_rewrite_module (启用支持url重写)
方法二如下:这种方法就好,不容易出错,如果网速快10分内可以完成,网速不好也可以在20分内完成。
yum –y install zlib zlib-devel openssl openssl-devel pcre pcre-devel
现在三个依赖的程序的安装成功,下面是安装nginx 0.8.40了。
官网下载地址:http://www.nginx.org/
$tar zvxf nginx 0.8.40.tar.gz
$cd nginx 0.8.40
$./configure //默认安装在/usr/local/nginx下
$ make
$ make install
4.配置(很重要)
#修改防火墙配置:
[root@bogon nginx-0.8.4]# vi + /etc/sysconfig/iptables
#添加配置项
-a input -m state --state new -m tcp -p tcp --dport 80 -j accept
#重启防火墙
[root@bogon nginx-0.8.4]# service iptables restart
5.启动:
#方法1
[root@bogon nginx-0.8.4]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
#方法2
[root@bogon nginx-0.8.4]# cd /usr/local/nginx/sbin
[root@bogon sbin]# ./nginx
6.停止:
#查询nginx主进程号
ps -ef | grep nginx
#停止进程
kill -quit 主进程号
#快速停止
kill -term 主进程号
#强制停止
pkill -9 nginx
7.测试:
#测试端口
netstat –na|grep 80
#浏览器中测试
http://127.0.0.1:80
8.注意问题:
安装nginx时出现情况的解决办法:
[root@bogon sbin]# ./nginx
[emerg]: bind() to 0.0.0.0:80 failed (98: address already in use)
[emerg]: bind() to 0.0.0.0:80 failed (98: address already in use)
[emerg]: bind() to 0.0.0.0:80 failed (98: address already in use)
[emerg]: bind() to 0.0.0.0:80 failed (98: address already in use)
[emerg]: bind() to 0.0.0.0:80 failed (98: address already in use)
[emerg]: still could not bind()
#netstat -nptl //查看80端口已被使用
#killall nginx //即可