Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由Igor Sysoev为俄罗斯访问量第二的Rambler.ru站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
Nginx服务器的安装
windowns版Nginx下载地址:http://nginx.org/en/docs/windows.html
windows上安装Nginx比较简单,Nginx官方已经提供了打包好的.exe的运行文件,不需要用户自己去编译运行。直接打开上面的地址,下载好windows版的nginx,解压后双击nginx.exe或者在命令窗口运行nginx.exe即可。
因为Nginx默认端口是80端口,所以启动成功之后在浏览器地址栏输入localhost就可以看到Nginx的欢迎页面。
linux版的Nginx下载地址:http://nginx.org/
下载nginx之前,请确保自己的linux系统已经安装了g++,gcc。因为nginx是纯C语言编写,在linux下安装时需要去编译源码安装。
-
解压Nginx源码包
> tar -zxvf nginx-1.11.5.tar.gz
-
设置一下nginx配置信息
> chmod -R 755 nginx-1.11.5 > cd nginx-1.11.5 > ./configure --prefix=/usr/local/nginx #此处设置prefix,是设置nginx的安装路径,可通过./configure --help查看其它参数项
-
编译安装
> make | make install #将源码文件编译成可执行文件和各种库文件,并将其复制到上面设置的安装目录中
-
编译安装中的常见问题
缺少Nginx组件
$ wget http://www.openssl.org/source/openssl-fips-2.0.10.tar.gz
$ tar zxvf openssl-fips-2.0.10.tar.gz
$ cd openssl-fips-2.0.10
$ ./config && make && make install
$ wget http://zlib.net/zlib-1.2.11.tar.gz
$ tar zxvf zlib-1.2.11.tar.gz
$ cd zlib-1.2.11
$ ./configure && make && make install
$ wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.40.tar.gz
$ tar zxvf pcre-8.40.tar.gz
$ cd pcre-8.40
$ ./configure && make && make install
缺少g++环境
$ yum install gcc-c++
报错了,error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
$ whereis libpcre.so.1
$ ln -s /usr/local/lib/libpcre.so.1 /lib64
-
启动nginx
#这一步可以不指定nginx配置文件(nginx.conf文件在默认目录下时可不指定) > /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
-
还有最重要的一步,打开Nginx的防火墙端口
> vi /etc/sysconfig/iptables > 添加端口,如: -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT > /etc/init.d/iptables restart #重启防火墙,让修改生效
-
在自己本机的浏览器中输入localhost就可以看到Nginx的欢迎页面。
Nginx其他常用命令参数
- 校验配置文件
> nginx -t
- 重启
> nginx -s reload
- 安全停止
> nginx -s quit
其他参数可使用'man nginx'命令查看,就不一一列举了。
注: Nginx停止也可以通过杀死Nginx进程的方式停止,Nginx默认会启动两个进程,master和worker,直接杀死进程时需要kill这两个进程。
master和worker的区别在以后的文章中再做说明。
网友评论