Linux环境下使用tomcat+nginx部署若依项目
任务一 安装与配置 Mysql 数据库
1、docker拉取MySQL
2、启动MySQL
3、远程访问连接
4、创建数据库并执行项目 SQL 脚本
任务二 安装与配置 Tomcat
1、使用docker拉取 Tomcat
这里要特别注意Tomcat的版本,因为我拉的这个若依项目使用的springboot版本是2.5.15,所以查看maven仓库得知对应的应该是9.0.75版本的Tomcat,如果版本使用错,会出现访问项目报错404。maven仓库地址:Maven Repository: org.springframework.boot » spring-boot-starter-tomcat
2、启动Tomcat
docker run -di --name=mytomcat -p 8888:8080 -v /usr/local/webapps:/usr/local/tomcat/webapps tomcat:9.0.89
3、配置防火墙放行 8888端口
4、在客户机上测试 Tomcat 服务
任务三 部署 war 包和 jar 包
1、修改配置文件,打包 war 包并部署
(1) ruoyi/ruoyi-admin 中 pom.xml 的 packaging 修改为 war
(2) 修改 ruoyi/ruoyi-admin 中 application-druid.yml 的 MySQL 数据库连接,ip,端口,用户
名,密码
(3) 修改文件存储路径
(4) 打开 Maven 面板,双击 ruoyi 下的 package,完成后查看日志找到对应的 war 包
- 上传 war 包到服务器
访问若依项目:
2、修改配置文件,打包 jar 包并部署
(1) ruoyi/ruoyi-admin 中 pom.xml 的 packaging 修改为 jar
(2) 修改 ruoyi/ruoyi-admin 中 application.yml 的 server : port 为 9999
- 双击 Maven-package 打包,在 target 底下找到 jar,并上传到 Linux 服务器。
使用java -jar指令启动项目。这里要记得防火墙关闭9999端口号。
firewall-cmd --add-port=8888/tcp --permanent
启动成功
成功访问若依项目:
任务四 Nginx 的配置和负载均衡
1、docker 拉取nginx
2、启动 nginx 服务
docker run -d --name mynginx -p 80:80 \
-v /usr/local/nginx/nginx:/etc/nginx \
nginx
特别注意这里,这个命令的意思是将nginx容器里的/etc/nginx下的东西挂载到宿主机/usr/local/nginx/nginx下。但是如果你是第一次执行这个命令会出现nginx启动后状态是exited(0),也就是没启动成功。原因是宿主机中/usr/local/nginx/nginx下啥也没有。解决办法就是:
先执行这个命令:
docker run --name mynginx -p 80:80 -d nginx
然后进入nginx容器内复制 /etc/nginx下的内容到宿主机中:
docker cp 7012c47eea4e:/etc/nginx /usr/local/nginx
此时我们在/usr/local/nginx/nginx下就可以看到以下内容:
此时如果我们使用最开始的那个命令,nginx是可以成功启动的:
docker run -d --name mynginx -p 80:80 \
-v /usr/local/nginx/nginx:/etc/nginx \
nginx
3、配置防火墙放行 80 端口
firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --reload
4、在客户机上测试 nginx 服务
在浏览器中访问指定的服务器 IP:80,若能打开 nginx 默认首页,则表明配置成功。
5、用 Nginx+Tomcat 实现负载均衡
(1)部署 Tomcat 集群
由于单台 Tomcat 的承载能力是有限的,当我们的业务系统用户量比较大,请求压力比 较大时,单台 Tomcat 可能存在性能不足的情况,这个时候,就需要搭建 Tomcat 的集群,而 目前比较主流的做法就是通过 Nginx 来实现 Tomcat 集群的负载均衡。
1. 下载 Tomcat 服务器。
2. 启 动 tomcat 实 例
3. 验证 Tomcat:
此时通过 http://服务器 IP:9999/ruoyi-admin/也可以正常访问若依系统。
此时 Tomcat 集群中已经包含两个 Tomcat 实例,开放端口分为为 8888 和 9999 端口。
(2)Nginx 实现负载均衡
1. 编辑 nginx 配置文件:/etc/nginx/nginx.conf
upstream ruoyi.com {
server 192.168.8.39:8888 weight=1;
server 192.168.8.39:9999 weight=1;
}
server {
listen 80;
server_name 192.168.8.39;
root /var/zs_wp;
location / {
proxy_pass http://ruoyi.com/;
}
}
2. 重启 nginx 服务:
docker run -d --name mynginx -p 80:80 \
-v /usr/local/nginx/nginx:/etc/nginx \
nginx
3. 测试负载均衡:
刷新页面,可以看到 nginx 重定向到另一个 Tomcat 实例: