什么是nginx
是一个使用c语言开发的高性能的http服务器及反向代理服务器。Nginx是一款高性能的http服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定。
nginx 服务器相比Apache服务
- 轻量级,同样起web 服务,比apache占用更少的内存及资源 ,支持更多的并发连接,体现更高的效率,这点使 Nginx 尤其受到虚拟主机提供商的欢迎。在高连接并发的情况下,Nginx是Apache服务器不错的替代品: Nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一. 能够支持高达 50,000 个并发连接数的响应, 这归功于Nginx为我们选择了 epoll and kqueue 作为开发模型.
- 抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能
- 高度模块化的设计,编写模块相对简单
- 社区活跃,各种高性能模块出品迅速啊
- Nginx本身就是一个反向代理服务器
- 负载均衡能力突出,Nginx 既可以在内部直接支持 Rails 和 PHP 程序对外进行服务, 也可以支持作为 HTTP代理 服务器对外进行服务. Nginx采用C进行编写, 不论是系统资源开销还是CPU使用效率都比 Perlbal 要好很多.
yum install -y pcre pcre-devel
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
3安装步骤
1)把nginx的源码上传到linux系统
2)把压缩包解压缩。 tar -zxvf nginx1.12.tar.gz
3)进行configure。 nginx1.12/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
注意:上边将临时文件目录指定为/var/temp/nginx,需要在/var下创建temp及nginx目录
4)make
5)make install
4Nginx的启动、停止
进入目录 /usr/local/nginx /sbin
./nginx 就可启动,如果访问不到,首先查看防火墙是否关闭service iptables status
./nginx -s stop 关闭nginx
./nginx -s reload 刷新配置
5 Nginx的配置
在/usr/local/nginx/conf目录下nginx.conf 配置文件
在centos系统中安装多个tomcat并启动,注意每个tomcat的端口改为不一样
在/usr/local/nginx/conf目录下nginx.conf 配置文件添加
upstream tomcats{
server 192.168.1.108:8081;
server 192.168.1.108:8082;
}
server {
listen 80;
server_name shop.lkw.com;
location / {
proxy_pass http://tomcats;
index index.html index.htm;
}
}
7负载均衡
只需要在upstream的server后面添加一个weight即可代表权重。权重越高,分配请求的数量就越多。默认权重是1
upstream tomcats{
server 192.168.1.108:8081 weight=2;
server 192.168.1.108:8082;
}
server {
listen 80;
server_name shop.lkw.com;
location / {
proxy_pass http://tomcats;
index index.html index.htm;
}
}