在学习淘淘商城的过程当中接触到了nginx,今天就把使用它的过程记录下来,做为留存。html
Nginx是一款高性能的http服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx可以支支撑5万并发连接,而且cpu、内存等资源消耗却很是低,运行很是稳定。linux
yum install gcc-c++
yum install -y pcre pcre-devel
②zlib库提供了不少种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,因此须要在linux上安装zlib库。nginx
yum install -y zlib zlib-devel
③OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、经常使用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。nginx不只支持http协议,还支持https(即在ssl协议上传输http)c++
yum install -y openssl openssl-devel
第一步:把nginx的源码包上传到linux系统
第二步:解压缩正则表达式
tar zxf nginx-1.8.0.tar.gz
第三步:使用configure命令建立一makeFile文件。
./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
注意:以上都是一些安装时配置nginx的一些参数,具体含义能够自行百度。另外在启动nginx以前,上边将临时文件目录指定为/var/temp/nginx,须要在/var下建立temp及nginx目录算法
mkdir /var/temp/nginx/client -p
第四步:编译,运行make
命令
第五步:安装运行make install
命令
第六步:测试
进入安装目录下的sbin文件,运行./nginx
后,打开浏览器访问主机ip。
注意:①默认是80端口。②是否关闭防火墙。
若是出现上图,恭喜你,nginx安装成功。
相关命令:vim
./nginx -s stop ##关闭nginx ./nginx -s quit ##关闭nginx(推荐使用) ./nginx -s reload ##重启nginx
打开nginx的配置文件浏览器
vim /usr/local/nginx/conf/nginx.conf
能够看到一个server节点,这个就是咱们配置虚拟主机的关键,每个此节点表明一台主机。tomcat
server { listen 80; ##端口号 server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { root html; ##nginx安装目录下的html目录 index index.html index.htm; ##每台主机对应的页面 } }
当咱们配置了多个server,就至关于配置了多个虚拟主机。这时咱们就能够经过不一样的端口号来进行访问。安全
首先咱们要知道当咱们打开浏览器访问每个域名的时候,每个域名对应的是一个ip地址。而且一个ip地址能够被多个域名绑定。当咱们在本地hosts文件(C:WindowsSystem32driversetc)中配置了域名与ip的对应的映射关系时,浏览器就不会再去走DNS服务器
为了方便测试,咱们先在本地hosts文件配置一下测试所用数据
192.168.71.121 www.taobao.com 192.168.21.121 www.baidu.com
而后配置两个server节点
server { listen 80; server_name www.taobao.com; ##不一样域名配置 #charset koi8-r; #access_log logs/host.access.log main; location / { root html-taobao; ##不一样域名访问的不一样文件夹 index index.html index.htm; } } server { listen 80; server_name www.baidu.com; ##不一样域名配置 #charset koi8-r; #access_log logs/host.access.log main; location / { root html-baidu; ##不一样域名访问的不一样文件夹 index index.html index.htm; } }
而后在浏览器上访问这两个地址就能够访问到咱们配置的两台虚拟主机。
两个域名指向同一台nginx服务器,用户访问不一样的域名显示不一样的网页内容。
两个域名是www.sian.com.cn和www.sohu.com
nginx服务器使用虚拟机192.168.101.3
第一步:安装两个tomcat,分别运行在8080和8081端口。
第二步:启动两个tomcat。
第三步:反向代理服务器的配置
upstream tomcat1 { server 192.168.25.148:8080; } server { listen 80; server_name www.sina.com.cn; #charset koi8-r; #access_log logs/host.access.log main; location / { proxy_pass http://tomcat1; index index.html index.htm; } } upstream tomcat2 { server 192.168.25.148:8081; } server { listen 80; server_name www.sohu.com; #charset koi8-r; #access_log logs/host.access.log main; location / { proxy_pass http://tomcat2; index index.html index.htm; } }
第四步:nginx从新加载配置文件
第五步:配置域名
在hosts文件中添加域名和ip的映射关系
192.168.71.121 www.sina.com.cn 192.168.71.121 www.sohu.com
若是一个服务由多条服务器提供,须要把负载分配到不一样的服务器处理,须要负载均衡。
upstream tomcat2 { server 192.168.71.121:8081; server 192.168.71.121:8082; }
能够根据服务器的实际状况调整服务器权重。权重越高分配的请求越多,权重越低,请求越少。默认是都是1
upstream tomcat2 { server 192.168.71.121:8081; server 192.168.71.121:8082 weight=2; }
本文做者: catalinaLi
本文连接: http://catalinali.top/2017/he...版权声明: 原创文章,有问题请评论中留言。非商业转载请注明做者及出处。