Nginx+Tomcat
准备两台Tomcat和一台Nginx
Nginx:192.168.116.134
Tomcat1:192.168.116.131
Tomcat2:192.168.116.128
编译安装Nginx
关闭防火墙
systemctl stop firewalld 关闭防火墙
systemctl disable firewalld 禁止防火墙开机自启
setenforce 0 关闭核心防护
安装依赖环境
yum -y install gcc gcc-c++ pcre-devel zlib-devel make
创建运行用户和组并将需要安装的软件包上传到/opt下
useradd -M -s /sbin/nologin nginx
tar xzvf nginx-1.15.9.tar.gz
cd nginx-1.15.9/
cd nginx-1.15.9/
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-file-aio \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-http_flv_module \
--with-http_ssl_module
make && make install ##编译安装
路径优化
使 Nginx 服务器的运行更加方便以便管理员直接执行“nginx”命令就可以调用 Nginx 的主程序
cp -r /usr/local/nginx/sbin/nginx /usr/local/sbin/nginx
添加nginx系统服务
为了使 Nginx 服务的启动、停止、重载等操作更加方便,可以编写基于 CentOS 7.6 的
Nginx 服务控制文件使用 systemctl 工具来进行管理,CentOS7.6 系统的管理习惯
vim /lib/systemd/system/nginx.service
[Unit]
Description=nginx ####描述
After=network.target ####描述服务类别
[Service]
Type=forking ###后台运行形式
PIDFile=/usr/local/nginx/logs/nginx.pid ###PID文件位置
ExecStart=/usr/local/nginx/sbin/nginx ###启动服务
ExecReload=/usr/bin/kill -s HUP $MAINPID ###根据PID重载配置
ExecStop=/usr/bin/kill -s QUIT $MAINPID ###根据PID终止进程
PrivateTmp=true
[Install]
WantedBy=multi-user.target
chmod 754 /lib/systemd/system/nginx.service
systemctl daemon-reload
systemctl start nginx.service #开启
systemctl enable nginx.service #开启开机自启
在浏览器输入自己的IP地址查看
Tomcat部署
systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0
将需要的软件包上传到/opt目录
安装JDK
rpm -ivh jdk-8u201-linux-x64.rpm
java -version #查看当前系统下的java版本
设置JDK的环境变量
vim /etc/profile.d/java.sh #/etc/profile.d/环境变量脚本目录
export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$JAVA_HOME/bin:$PATH
CLASSPATH:编译、运行Java程序时(tomcat),JRE 会去该变量指定的路径中搜索所需的类( .class)文件。
dt.jar:是关于运行环境的类库,主要是swing 的包。
加载一下环境,查看版本
source /etc/profile.d/java.sh
java -version
安装tomcat软件包
先解压
cd /opt
tar zxvf apache-tomcat-9.0.16.tar.gz
mv apache-tomcat-9.0.16 /usr/local/tomcat
cd /usr/local/
cd tomcat
catalina.sh(管理执行severlet操作)可以进行tomcat的调优——》在catalina脚本中进行-Xms -Xmx (最小和最大内存)
目录说明:
目录名称 | 说明 |
---|---|
bin | 存放启动和关闭Tomcat 的脚本文件,比较常用的是catalina.sh、startup.sh、 shutdown.sh 三个文件 |
conf | 存放Tomcat 服务器的各种配置文件,比较常用的是server.xml、context.xml、tomcat-users.xml web. xml 四个文件 |
lib | 存放Tomcat服务器的jar 包,一般不作任何改动,除非连接第三方服务,比如redis, 那就需要添加相对应的jar包 |
logs | 存放Tomcat 日志 |
temp | 存放Tomcat 运行时产生的文件 |
webapps | 存放项目资源的目录 |
work | Tomcat 工作目录,一般清除 Tomcat 缓存的时候会使用到 |
Tomcat配置文件
文件名 | 说明 |
---|---|
catalina.policy | 权限控制配置文件 |
catalina.properties | Tomcat的属性配置文件 |
context.xml | 上下文配置文件 |
logging.properties | 日志相关配置文件 log4j |
server.xml | 主配置文件,通过配置文件,可以修改tomcat的启动端口、网站目录、虚拟主机、开启https等功能 |
tomcat-user.xml/.xsd | 管理用户配置文件 |
web.xml | Tomcat的servlet、servlet-mapping、filter、MIME等相关配置 |
优化管理
ln -s /usr/local/tomcat/bin/startup.sh /usr/local/bin/
ln -s /usr/local/tomcat/bin/shutdown.sh /usr/local/bin/
开启服务
startup.sh
netstat -natp | grep 8080
动静分离配置
Ningx配置
准备静态网页
vim /usr/local/nginx/html/index.html
vim /usr/local/nginx/conf/nginx.conf
#gzip on;
upstream tomcat {
server 192.168.116.131:8080 weight=1;
server 192.168.116.128:8080 weight=1;
}
server {
listen 80;
server_name www.yan.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location ~ .*\.jsp$ {
proxy_pass http://tomcat;
proxy_set_header HOST $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location / {
root html;
index index.html index.htm;
}
准备好之后 开启服务
systemctl start nginx
Tomcat1配置
mkdir /usr/local/tomcat/webapps/yan
vim /usr/local/tomcat/webapps/yan/index.jsp #动态页面的配置
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
<title>JSP test1 page</title>
</head>
<body>
<% out.println("小严");%>
</body>
</html>
vim /usr/local/tomcat/conf/server.xml #修改配置文件
删除原host端和valve端
新增一下
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context docBase="/usr/local/tomcat/webapps/yan" path="" reloadable="true" />
shutdown.sh #重启服务
startup.sh
Tomcat2配置
mkdir /usr/local/tomcat/webapps/yan
vim /usr/local/tomcat/webapps/yan/index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
<title>JSP test2 page</title>
</head>
<body>
<% out.println("小芸");%>
</body>
</html>
vim /usr/local/tomcat/conf/server.xml #修改配置文件
删除原host端和valve端
新增一下
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context docBase="/usr/local/tomcat/webapps/yan" path="" reloadable="true" />
shutdown.sh #重启服务
startup.sh
进行测试
访问http://192.168.192.134,会出现Nginx的静态页面
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EiDhg7zE-1662373233731)(F:\typorase\jpg\226.png)\
访问http://192.168.192.134/index.jsp
会动态的在Tomcat1和Tomcat2之间进行切换访问