JavaWeb怎么部署到Linux服务器

56次阅读
没有评论

共计 2729 个字符,预计需要花费 7 分钟才能阅读完成。

这篇文章主要介绍“JavaWeb 怎么部署到 Linux 服务器”,在日常操作中,相信很多人在 JavaWeb 怎么部署到 Linux 服务器问题上存在疑惑,丸趣 TV 小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JavaWeb 怎么部署到 Linux 服务器”的疑惑有所帮助!接下来,请跟着丸趣 TV 小编一起来学习吧!

1. 购买服务器、域名并备案

现在的备案都简化了好多,直接下载 APP 扫描就能成功备案了。

2. 搭建环境

Centos7.3 云服务器上安装 Nginx、MySQL、JDK、Tomcat 环境

Centos7.6 安装 mysql5.5 教程

Cenos7.3 安装 mysql8.0

Centos8.0 编译安装稳定最新版的 nginx

Centos7.3 卸载 Nginx(彻底卸载) 并重新安装 Nginx(RPM 源 yum 安装)

如果还有问题请直接百度

3. 项目部署

把要上传的 java web 项目打包成 war 包上传到 Tomcat 目录的 webapps 下,在还没启动 Tomcat 之前上传了项目的 war 包时,是不会被解压成文件夹的。只要 Tomcat 的 webapp 下的项目有所变动 (增加或删除),都要重新启动 Tomcat。

注意:如下命令必须进入到 Tomcat 的 bin 目录才能执行。如果你配置好了环境变量就可以在任何路径下执行了。

./startup.sh //  启动 Tomcat./shutdown.sh //  关闭 Tomcat

上传到 webapp 下的 war 包会被解析成一个与项目名同名的文件夹,打开里面就是个类似于项目的分层结构,如果你的项目 war 包上传至 webapp 没有被解压成与项目名同名的文件夹,那就是你没有重新启动 Tomcat,先执行上面关闭命令再执行启动命令。

进入解压后的项目,可以发现,jsp 文件都能在项目的根目录下看到到,javabean 之类的 java 文件和 lib 目录、web.xml 或其他配置文件 存在于根目录下的 WEB-INF 文件夹下,因为 java 代码会被编译成 class 文件存放于 classes 文件夹下。

这里特别注意的一点是,如果 java web 项目是需要连接 Linux 服务器上的数据库的,注意把上传项目提前改成 Linux 服务器上的 mysql 数据库的用户名和密码再打包成 war 包。或直接在 Linux 下的 Tomcat 编译好的项目下进入项目路径更改,完成后保存文件,再关闭 Tomcat 接着启动 Tomcat。

项目的数据库文件导入问题

Linux 下的项目数据库的访问地址依然不变,如:

url =  jdbc:mysql://localhost:3306/ 数据库名  
url =  jdbc:mysql://127.0.0.1:3306/ 数据库名  
或  
url =  jdbc:mysql:// 服务器 IP 地址:3306/ 数据库名 

因为项目上传至服务器后,说明 localhost 或 127.0.0.1 也是表示服务器本地路径,当然这里也可以选择用服务的公网 IP,但一般不建议使用,因为此时的 localhost 或 127.0.0.1 就是表示此时服务器 IP。

本地 Windows 下的 Navicat、SQLyog 或其他数据库可视化工具连接 Linux 服务器上的 msyql,方便于直接导入项目上的数据库文件。

本地 mysql 数据库导入 Linux 服务器上的 mysql 数据库

首先,先把 Windows 下的数据库文件导出来并上传到服务器上,然后再创建好和本地 Windows 下同名的服务器上的数据库文件

create database  数据库名 

切换到创建好的数据库中

use  数据库名 

导入数据

source  上传的数据库文件路径.sql

如果不想这么麻烦,也可以直接用 Navicat 链接好服务器上的 mysql,直接在 Navicat 上导入即可。

Nginx 反向代理通过域名访问项目

解析好项目要用的域名,一般是用二级域名作为访问。

其实可以直接用服务器上的 IP 地址来访问项目的,不必麻烦使用域名来访问了。但这种形式不光还要记住域名且还要端口号,部署项目一多,确实有些麻烦,如:

IP:8080IP:8081IP:8082 或
域名;8080
域名:8081 域名:8082

通过反向代理就不需要每次访问项目还要加上端口号了。

打开 Nginx 的根路径,切换到 conf/ 下,打开 nginx.conf 文件,在 http 模块下增加一个 server 模块

这里 proxy_pass 代理的就是 Tomcat 服务器下的项目,Tomcat 默认的端口号是 8080,这里改为了 8010

server { #监听的端口号
 listen 80; #一级域名或二级域名
 server_name sh.yunxdr.top; #默认文档
 index index.jsp index.html index.htm; location / {proxy_pass http://127.0.0.1:8010/ 项目名 /;}

注意:

这里特别注意 的是 proxy_pass 的 IP 地址,127.0.0.1 或 localhost 表示的此时服务器的 IP,切记不可使用服务器的公网 IP,因为通过了域名解析后,使用 IP 来作为代理来通过二级域名是访问不了的

proxy_pass 这里可以使用。

http://localhost:8010/Tomcat 解析的项目名或
http://127.0.0.1:8010/Tomcat 解析的项目名 

为了以后一个 Tomcat 部署一个项目,可以在 Linux 服务器上复制多个 Tomcat,然后通过修改 Tomcat 默认端口号来达到不同的项目名都可以使用二级域名来访问了。

但也可以在一个 Tomcat 下部署多个项目,此时每次部署新的项目时,以前的项目都会随着 Tomcat 的启动或关闭又要被执行一次,非常耗服务的内存和 CPU,会让服务器变的更卡了。我之前部署项目就是采用了这个方法。

有的时候部署后,也出现访问不了项目,这是可能是 nginx 没有识别到默认文件,在代理的项目名后面加上项目的默认访问路径,如:

proxy_pass http://127.0.0.1:8010/ 项目名 /index.jsp;

完成 Nginx 配置后,保存并退出,执行重载命令,使刚才的配置的文件生效。

./nginx -s reload

此时的执行必须切换到 nginx 的 bin 目录下执行才能成功,除非配置好了环境变量才能在任意路径下执行。

此时部署大功告成,可以通过域名来访问 Tomcat 下的项目了。注意的是二级域名要解析好才能访问项目

到此,关于“JavaWeb 怎么部署到 Linux 服务器”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注丸趣 TV 网站,丸趣 TV 小编会继续努力为大家带来更多实用的文章!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-18发表,共计2729字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)