1、 什么是nginx?
是一个使用c语言开发的高性能的http服务器及反向代理服务器。
Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定。
下载官网路径:http://nginx.org/en/download.html
2、 Nginx的应用场景
1、http服务器。Nginx是一个http服务可以独立提供http服务。可以做网页静态服务器。
2、虚拟主机。可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。
3、反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。
3、 先安装nginx依赖的包
nginx是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境。
1) gcc
安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc:
yum install gcc-c++
2) PCRE
PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。
yum install -y pcre pcre-devel
注:pcre-devel是使用pcre开发的一个二次开发库。nginx也需要此库。
3) zlib
zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。
yum install -y zlib zlib-devel
4) openssl
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。
nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。
yum install -y openssl openssl-devel
安装过程中我出现了问题:多个库共存冲突
Error: Multilib version problems found. This often means that the root
cause is something else and multilib version checking is just
pointing out that there is a problem. Eg.:
Protected multilib versions: pcre-8.32-17.el7.x86_64 != pcre-8.32-15.el7_2.1.i686
解决办法:
在安装命令最后加上:–setopt=protected_multilib=false
例如:yum install -y pcre pcre-devel –setopt=protected_multilib=false
4、 安装步骤
第一步:把nginx的源码上传到linux系统
第二步:把压缩包解压缩。
tar –zxvf nginx****
第三步:创建文件夹 /var/temp/nignx用于存放零时文件
第四步:进行configure:
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi
做完第四步目录下会多出一个Makefile文件夹
第五步:make
第六步:make install
安装完成 可以测试了
5、 nginx配置
#二级域名配置
server{
listen 80;
server_name *.ycwxs.com;
location /xskk{
proxy_pass http://tomcats;
proxy_set_header Host $http_host;
proxy_set_header X-Forward-For $remote_addr;
index index.jsp;
}
location /xskk/userfiles/{
alias /var/userfiles/;
expires 10d;
}
#所有的静态文件直接读取不经过tomcat,nginx自己处理
#location ~ .*\.(htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|mp3|wma)$
# {
# expires 10d;
# }
}
#负载均衡策略配置
# upstream tomcats{
# fair;
# server 127.0.0.1:8080 ;
# server 127.0.0.1:8081 ;
# server 127.0.0.1:8082 ;
# }
upstream tomcats{
server 127.0.0.1:8080 weight=2 fail_timeout=30s;
server 127.0.0.1:8081 weight=3 fail_timeout=30s;
server 127.0.0.1:8082 weight=3 fail_timeout=30s;
}
# upstream tomcats{
# ip_hash;
# server 127.0.0.1:8080 ;
# server 127.0.0.1:8081 ;
# server 127.0.0.1:8082 ;
# }
6、 nginx常用命令:
1、启动:进入nginx的sbin目录,./nginx就可以启动。
如果访问不到,首先查看防火墙是否关闭。
2、关闭nginx:推荐使用:./nginx -s stop
3、刷新配置:./nginx -s reload