貌似Nginx这两年比较火,Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好。
1、环境预备
nginx依赖以下模块:
(1)gzip模块需要 zlib 库
(2)rewrite模块需要 pcre 库
(3)ssl 功能需要openssl库
1.1 安装pcre:
root@webank:~# cd /usr/local/
root@webank:/usr/local# wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre2-10.20.tar.gz
2. 解压缩pcre-xx.tar.gz包
3. 进入解压缩目录,执行./configure
root@webank:/usr/local/pcre2-10.20# ./configure
4. make & make install
root@webank:/usr/local/pcre2-10.20# make
root@webank:/usr/local/pcre2-10.20# make install
1.2 安装zlib库
root@webank:/usr/local/pcre2-10.20# cd /usr/local/
root@webank:/usr/local# wget http://zlib.net/zlib-1.2.8.tar.gz
root@webank:/usr/local# tar -zxvf zlib-1.2.8.tar.gz
root@webank:/usr/local# cd zlib-1.2.8
root@webank:/usr/local/zlib-1.2.8# ./configure
root@webank:/usr/local/zlib-1.2.8# make
root@webank:/usr/local/zlib-1.2.8# make install
1.3 安装openssl
root@webank:/usr/local/zlib-1.2.8# cd /usr/local/
root@webank:/usr/local# wget http://www.openssl.org/source/openssl-1.0.1c.tar.gz
root@webank:/usr/local# tar -zxvf openssl-1.0.1c.tar.gz
root@webank:/usr/local/openssl-1.0.1c# cd openssl-1.0.1c
root@webank:/usr/local/openssl-1.0.1c# ./config
root@webank:/usr/local/openssl-1.0.1c# make
root@webank:/usr/local/openssl-1.0.1c# make install
2.安装nginx
root@webank:/usr/local/openssl-1.0.1c# cd /usr/local/
root@webank:/usr/local# wget http://nginx.org/download/nginx-1.9.8.tar.gz
root@webank:/usr/local# tar -zxvf nginx-1.9.8.tar.gz
root@webank:/usr/local# cd nginx-1.9.8
root@webank:/usr/local/nginx-1.9.8# ./configure --prefix=/usr/local/nginx --with-pcre=/usr/local/pcre2-10.20/ --with-zlib=/usr/local/zlib-1.2.8/ --with-openssl=/usr/local/openssl-1.0.1c/
root@webank:/usr/local/nginx-1.9.8# make & make install
在最后一步make & make install的时候报错如下:
src/core/ngx_regex.h:15:18: fatal error: pcre.h: No such file or directory
compilation terminated.
make[1]: *** [objs/src/core/nginx.o] Error 1
make[1]: Leaving directory `/usr/local/nginx-1.9.8'
make: *** [build] Error 2
解决办法:apt-get install libpcre3-dev
3. 启动nginx
直接输入命令nginx即可,但是报了以下端口错误:
ubuntu@webank:/etc/init.d$ /etc/init.d/nginx start
Starting nginx: nginx: [warn] the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /etc/nginx/nginx.conf:1
nginx: [emerg] bind() to 0.0.0.0:8000 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:8000 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:8000 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:8000 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:8000 failed (98: Address already in use)
很明显是报错,8000端口被占用,查询端口;netstat -ntpl
关闭进程:Kill -9 pid,再次启动即可。
启动完毕之后,即可输入IP地址,连带端口:http://119.29.83.38:8000/打开页面即是Welcome to nginx!几个大字,恭喜各位,安装成功!