
安装过程在线安装包参考yum -y install make zlib zlib-devel gcc-c libtool openssl openssl-devel离线安装--先安装插件tar –zxvf pcre2-8.44.tar.gzcd pcre2-8.44/./configuremakemake checkmake installpcre-config --version--tar –zxvf zlib.tar.gzcd zlib./configuremakemake checkmake install--tar -zxvf nginx-1.8.1.tar.gcd nginx-1.8.1./configure./configure --prefix/opt/nginxmakemake install--配置防火墙开通防火墙端口firewall-cmd --zonepublic --add-port80/tcp --permanent重启防火墙firewall-cmd --reload查看防火墙开启端口列表firewall-cmd --list-ports查看防火墙状态systemctl status firewalld正式安装Nginx一.Nginx准备安装环境Nginx是C语言开发,建议在linux上运行,本教程使用Centos7.0作为安装环境.(1)gcc安装nginx需要先将官网下载的源码进行编译编译依赖gcc环境如果没有gcc环境需要安装gccyum install gcc-c(2)PCREPCRE(Perl Compatible Regular Expressions)是一个Perl库包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式所以需要在linux上安装pcre库。yum install -y pcre pcre-devel(3)zlibzlib库提供了很多种压缩和解压缩的方式nginx使用zlib对http包的内容进行gzip所以需要在linux上安装zlib库。yum install -y zlib zlib-devel(4)opensslOpenSSL 是一个强大的安全套接字层密码库囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议并提供丰富的应用程序供测试或其它目的使用。nginx不仅支持http协议还支持https即在ssl协议上传输http所以需要在linux安装openssl库。yum install -y openssl openssl-devel二.nginx准备安装1.在/usr/local/下创建文件nginx文件mkdir /usr/local/nginx2.将nginx安装文件拷贝到此文件夹下手动拷贝--“nginx” 文件3.进入并解压nginxcd /usr/local/nginxtar -zxvf nginx-1.21.1.tar.gzcd nginx-1.21.1三.nginx编译安装1.在Nginx路径下输入./configure文件夹中出现Makefile这个文件。2.在当前路径下输入1 make2 make install安装目录如图3.启动nginx进入到nginx的sbin的目录cd /usr/local/nginx/sbin/输入启动命令 ./nginx4.查看nginx进程情况ps aux|grep nginx5.查看nginx版本/usr/local/webserver/nginx/sbin/nginx -v6.查看端口号firewall-cmd --query-port80/tcp手动开启端口firewall-cmd --zonepublic --add-port80/tcp --permanent开启端口后要重启防火墙firewall-cmd --reload7.测试网页访问nginx是否成功输入网址端口号出现即成功四.设置开机启动和端口号首先修改/etc/rc.d/rc.local文件vi /etc/rc.d/rc.local如图填加内容为/usr/local/nginx/sbin/nginx然后执行如下命令使/etc/rc.d/rc.local变成可执行文件。chmod x /etc/rc.d/rc.local指定配置文件进行重启/usr/local/nginx/sbin/nginx -s reload -c /usr/local/nginx/conf/nginx.conf使用reboot命令重启查看nginx是否成功的自启动修改nginx默认端口号cd /usr/local/nginx/conf/路径下输入vi nginx.conf修改红色部分为新的端口号即可备注进入安装目录cd /usr/local/nginx/sbin启动、关闭、重启命令./nginx 启动./nginx -s stop 关闭./nginx -s reload 重启五.Nginx配置反向代理的原理图:什么是反向代理反向代理服务器决定哪台服务器提供服务。返回代理服务器不提供服务器。只是请求的转发。正向代理如下反向代理如下以上是Nginx实现反向代理的过程六.修改Tomcat和Nginx配置文件一、Tomcat配置文件:首先在电脑上安装三个tomcat服务器三个端口分别是8081和8082和8083。然后通过Editplus远程连接修改tomcat8081里面的server.xml配置里面修改端口号Connector port8001 protocolHTTP/1.1connectionTimeout20000redirectPort8443 /通过Editplus远程连接修改tomcat8082里面的server.xml配置里面修改端口号Connector port8002 protocolHTTP/1.1connectionTimeout20000redirectPort8443 /通过Editplus远程连接修改tomcat8083里面的server.xml配置里面修改端口号Connector port8003 protocolHTTP/1.1connectionTimeout20000redirectPort8443 /然后把tomact8001里面的webapps文件夹里面的ROOT文件夹里面的index.jsp变成下面这样此时可以看到下面输入的内容是8001html langenheadtitle%request.getServletContext().getServerInfo() %/titlelink hreffavicon.ico relicon typeimage/x-icon /link hreffavicon.ico relshortcut icon typeimage/x-icon /link hreftomcat.css relstylesheet typetext/css //headbodyh1tomcat8001index.jsph1/body/html把tomact8002里面的webapps文件夹里面的ROOT文件夹里面的index.jsp变成下面这样此时可以看到下面输入的内容是8002html langenheadtitle%request.getServletContext().getServerInfo() %/titlelink hreffavicon.ico relicon typeimage/x-icon /link hreffavicon.ico relshortcut icon typeimage/x-icon /link hreftomcat.css relstylesheet typetext/css //headbodyh1tomcat8002index.jsph1/body/html把tomact8003里面的webapps文件夹里面的ROOT文件夹里面的index.jsp变成下面这样此时可以看到下面输入的内容是8003html langenheadtitle%request.getServletContext().getServerInfo() %/titlelink hreffavicon.ico relicon typeimage/x-icon /link hreffavicon.ico relshortcut icon typeimage/x-icon /link hreftomcat.css relstylesheet typetext/css //headbodyh1tomcat8003index.jsph1/body/html然后启动tomcat8001和tomcat8002和tomcat8003访问成功例apache-tomcat-8001本机http://127.0.0.1:8001/外网端口映射http://27.185.15.89:501/访问成功例apache-tomcat-8002本机http://127.0.0.1:8002/外网端口映射http://27.185.15.89:502/访问成功例apache-tomcat-8003本机http://127.0.0.1:8003/外网端口映射http://27.185.15.89:503/访问成功二、Nginx配置文件:修改nginx配置文件的路径cd /usr/local/nginx/conf/路径下输入vi nginx.conf修改文件如下内容worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; upstream tomcat1{ server 27.185.15.89:501; server 27.185.15.89:502; server 27.185.15.89:503; } server { listen 31; server_name localhost; location / { proxy_pass http://tomcat1; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location /50x.html { root html; } } upstream tomcat2{ server 27.185.15.89:501; server 27.185.15.89:502; server 27.185.15.89:503; } server { listen 32; server_name localhost; location / { proxy_pass http://tomcat2; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location /50x.html { root html; } } upstream tomcat3{ server 27.185.15.89:501; server 27.185.15.89:502; server 27.185.15.89:503; } server { listen 33; server_name localhost; location / { proxy_pass http://tomcat3; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location /50x.html { root html; } } }七.访问网址查看是否设置成功http://27.185.15.89:31/http://27.185.15.89:32/http://27.185.15.89:33/结尾重复访问同一个网址出现不同的访问结果说明nginx代理成功访问不同的Tomcat容器。到此nginx的反向代理就完成了---------------------nginx 文件结构... #全局块 events { #events块 ... } http #http块 { ... #http全局块 server #server块 { ... #server全局块 location [PATTERN] #location块 { ... } location [PATTERN] { ... } } server { ... } ... #http全局块 }