环境描述:虚拟机准备两台,一台作为nginx服务器+mysql服务器,IP为:192.168.2.128,网络模式配置主机模式和net模式;另外一台作为Tomcat服务器,IP为:192.168.70.128,网络模式为主机模式,首先确保两台服务器能互相通信,。客户端发来请求,首先由nginx处理,如果为静态内容直接由nginx响应,将结果直接给客户端;如果为动态内容,则由nginx反向代理至后端的Tomcat服务器。主机模式外网是无法访问的,但是可以使用Nginx做代理,访问192.168.70.128.
进行试验之前也必须把两台虚拟主机的防火墙和selinux进行关闭。在搭建LNMP章节有讲。
systemctl stop firewalld #关闭防火墙
systemctl disable firewalld #禁止开机自启动
setenforce 0 #关闭selinux
1、Nginx+mysql的服务器:
2、Tomcat服务器:
3、在192.168.2.128虚拟主机上搭建LNMP:
参考搭建地址:https://www.cnblogs.com/llody/p/10862131.html
4、在192.168.70.128虚拟主机上安装JDK和TOMCAT
(1)安装JDK:
yum install java -y #yum安装JDK默认是1.8版本
java -version #查看安装版本
是以上结果为安装成功,虚拟主机中主机模式是没法用YUM直接装的,可以先把网络模式调整为NET模式,装好后再变更为主机模式
(2)安装Tomcat:
创建安装位置:
mkdir /soft/src -p #创建下载安装文件夹
wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.7/bin/apache-tomcat-9.0.7.tar.gz #下载安装包
[root@centOS7 /soft/src]# tar xf apache-tomcat-9.0.7.tar.gz -C /soft 将Tomcat解压到/soft/文件夹
[root@centOS7 /soft]# cp -r apache-tomcat-9.0.7/ tomcat-8080 #复制解压文件夹并重命名为tomcat-8080
[root@centOS7 /soft]# /soft/tomcat-8080/bin/startup.sh #启动Tomcat
启动后:
3、配置Nginx proxy负载:
因为我之前搭建的是LNMP环境+Tomcat,所以带有PHP配置,没有搭建的可以不用配置:
配置文件内容:
default.conf_bak php.conf zy_proxy.conf_bak
[root@llody conf.d]# cat php.conf upstream java_prod{ server 192.168.70.128:8080;}
server { server_name _; listen 8090; index index.jsp index.html;location ~ \.jsp$ {
proxy_pass http://java_prod; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } location ~ \.(png|jpg|gif|js|css)$ { proxy_pass http://java_prod; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}
} server { server_name _; listen 80; root /soft/code; index index.php index.html;location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /soft/code$fastcgi_script_name; include fastcgi_params; }}
nginx -t #检测配置文件是否正确
nginx -s reload #重新加载配置文件
搭建中请确认:[root@llody ~]# cat /etc/nginx/nginx.conf
Nginx.conf文件中没有server,要不环境会出错,只配置了一个PHP.CONF文件用于负载,动静分离。
在192.168.70.128虚拟主机上查看访问日志。
访问测试页面:
LNMT搭建完成。
如果想尝试源码编译的,我搜索到一篇好一点的文章,链接地址如下:
https://blog.51cto.com/13910274/2171365