(三) 安装nginx
安装nginx需要先安装的包有:gcc, pcre, openssl-devel
1. 安装gcc (对CentOS系统yum软件库的配置见
[cce] [root@demeter nginx-0.8.54]# yum install gcc …………………………………………………………………………………… Installed: gcc.i386 0:4.1.2-48.el5 Dependency Installed: glibc-devel.i386 0:2.5-49.el5_5.7 glibc-headers.i386 0:2.5-49.el5_5.7 kernel-headers.i386 0:2.6.18-194.32.1.el5 libgomp.i386 0:4.4.0-6.el5 [root@demeter nginx-0.8.54]# yum install openssl-devel Installed: openssl-devel.i386 0:0.9.8e-12.el5_5.7 Dependency Installed: e2fsprogs-devel.i386 0:1.39-23.el5_5.1 keyutils-libs-devel.i386 0:1.2-1.el5 krb5-devel.i386 0:1.6.1-55.el5_6.1 libselinux-devel.i386 0:1.33.4-5.7.el5 libsepol-devel.i386 0:1.15.2-3.el5 zlib-devel.i386 0:1.2.3-3 [/cce]
2. 安装pcre
安装了
[root@demeter nginx-0.8.54]# rpm -qa|grep pcre
pcre-6.6-2.el5_1.7
但是编译naginx要求安装pcre的路径不一样,所以下载:
http://sourceforge.net/projects/pcre/files/pcre/8.12/pcre-8.12.tar.bz2/download
编译pcre需要安装的包有:libtool,gcc-c++,
[cce] Installed: libtool.i386 0:1.5.22-7.el5_4 Dependency Installed: autoconf.noarch 0:2.59-12 automake.noarch 0:1.9.6-2.3.el5 imake.i386 0:1.0.2-3 [root@demeter ~]# mkdir data [root@demeter ~]# cd data [root@demeter ~]# wget –c http://sourceforge.net/projects/pcre/files/pcre/8.12/pcre-8.12.tar.bz2/download [root@demeter data]# ls -al -rw-r--r-- 1 root root 992502 Jan 16 05:23 pcre-8.12.tar.bz2 [root@demeter data]# tar jxvf pcre-8.12.tar.bz2 [root@demeter data]# ls -al total 176572 drwxr-xr-x 4 root root 4096 Mar 24 01:46 . drwxr-x--- 6 root root 4096 Mar 24 01:56 .. drwxr-xr-x 7 1169 1169 4096 Mar 24 02:10 pcre-8.12 -rw-r--r-- 1 root root 992502 Jan 16 05:23 pcre-8.12.tar.bz2 [root@demeter data]# cd pcre-8.12 [root@demeter pcre-8.12]# ./configure [root@demeter pcre-8.12]# make [root@demeter pcre-8.12]# make install [/cce]
编译安装nginx
为nginx创建用户及用户组
[cce] [root@demeter ~]# groupadd www [root@demeter ~]# useradd www -g www [root@demeter data]# wget –c http://nginx.org/download/nginx-0.8.54.tar.gz [root@demeter data]# la –al [root@demeter data]# ls -al total 176572 drwxr-xr-x 4 root root 4096 Mar 24 01:46 . drwxr-x--- 6 root root 4096 Mar 24 01:56 .. -rw-r--r-- 1 root root 650001 Dec 14 19:06 nginx-0.8.54.tar.gz drwxr-xr-x 7 1169 1169 4096 Mar 24 02:10 pcre-8.12 -rw-r--r-- 1 root root 992502 Jan 16 05:23 pcre-8.12.tar.bz2 [root@demeter data]# tar zxvf nginx-0.8.54.tar.gz [root@demeter data]# ls -al total 176572 drwxr-xr-x 4 root root 4096 Mar 24 01:46 . drwxr-x--- 6 root root 4096 Mar 24 01:56 .. drwxr-xr-x 8 1000 1000 4096 Mar 24 00:35 nginx-0.8.54 -rw-r--r-- 1 root root 650001 Dec 14 19:06 nginx-0.8.54.tar.gz drwxr-xr-x 7 1169 1169 4096 Mar 24 02:10 pcre-8.12 -rw-r--r-- 1 root root 992502 Jan 16 05:23 pcre-8.12.tar.bz2 [root@demeter data]# cd nginx-0.8.54 [root@demeter nginx-0.8.54]# ./configure --user=www --group=www --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module [root@demeter nginx-0.8.54]# make [root@demeter nginx-0.8.54]# make install [/cce]
配置nginx
[cce] [root@demeter etc]# vim /usr/local/webserver/nginx/conf/nginx.conf user www www; worker_processes 8; error_log /usr/local/webserver/nginx/logs/error.log; pid /usr/local/webserver/nginx/logs/nginx.pid; worker_rlimit_nofile 65535; server { listen 80 default_server; server_name wwroot; #server name rewrite ^ http://www.domain.com$request_uri?; #如果出现错误将跳转到这个页面 location / { root /usr/local/webserver/nginx/html; #网站的根目录 index index.html index.htm index.php; #支持的主页的文件类型要加上index.php } location ~ .php$ { root /usr/local/webserver/nginx/html; fastcgi_pass 192.168.15.250:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
[/cce]
[cce] 注意:此处的fastcgi_param 值中的$document_root代表/usr/local/webserver/nginx/html,必须要写,要不然就会出错,不能辨认php脚本; 配置好了之后,请执行以下命令检查配置文件是否正确: [root@demeter conf]# /usr/local/webserver/nginx/sbin/nginx –t the configuration file /usr/local/webserver/nginx/conf/nginx.conf syntax is ok configuration file /usr/local/webserver/nginx/conf/nginx.conf test is successful [/cce]
执行nginx:
[root@demeter nginx-0.8.54]# /usr/local/webserver/nginx/sbin/nginx
# with-http_stub_status_module 模块可用来统计当前连接数
添加指定的 Nginx 扩展模块只需要 configure 时带上 –with-模块名 即可
# 小技巧:如已经安装好了Nginx,好添加一个新模块,只需要重新配置,重新 configure && make 但别 make install, 直接将objs/nginx 拷贝到{$prefix}/sbin下即可,【注意备份原来的】
访问一下看看
看到欢迎界面:Welcome to nginx! 安装便算OK了。
设置nginx 开机自启动
vim /etc/rc.local 增加/usr/sbin/nginx
配置:
安装路径:/usr/local/webserver/nginx
网站访问地址:192.168.15.250
网站根目录:/usr/local/webserver/nginx/html;
既然已经安装了http,为啥还要在安装一个nginx呢?
nginx比http功能更强大 两者可以共存的 各有各得优势,nginx擅长动态,http擅长静态,需要那个就要看你自己的需求了