项目发布
java web项目部署
我的项目是用maven来进行管理的,使用SpringMVC框架,开发工具是intellij idea,使用mysql数据库。
由于一开始对整个流程很陌生,所以建立了一个简易的非maven的web项目,来测试是否部署服务器成功。
我实现的逻辑是这样的:在本地生成项目的war包,然后传送到服务器的tomcat的webapps目录下,之后就可以通过域名访问了。
于是问题主要是在于如何在intellij idea中产生war包。
在动手之前注意一点:
本地项目配置的访问端口,需要和服务器中tomcat的开启端口一致
配置服务器中tomcat的端口,需要修改服务器目录下conf下的server.xml文件
在文件中找到这一段
<Connector port="8888" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
其中的port值改为和本地项目相同的端口值。
非maven项目
首先在本地部署一遍,确认在本地,程序没有任何问题。成功后,会发现在工程目录下出现一个out的目录,里面放该项目的生成文件。
之后点击File->Project Structure->Artifacts。之后点击上方的绿色加号,选择web Application:archive,选择for 'xxx'那一项,然后可能会出现不存在MANIFEST文件的提示,直接点击创建就好。最后点击确定。
如图:
接着点击菜单栏中的Build->Build Artifacts,选择war的那一项,点击Build。之后再out目录下会找到.war文件。然后上传到服务器的webapps目录下。关闭服务器,再打开服务器即可访问,什么都不用配置。
maven项目
本地部署一遍,确保没有错误,本地访问成功,这时会生成target文件夹。然后返回intellij idea,在IDE的右边侧栏找到Maven Project按钮,点击,选择Lifecycle,双击package。就可以生成.tar文件,自动生成在target目录下。
同理上传服务器,无需配置,重启一下tomcat即可访问你的项目。
mysql上传与部署
一般的项目必然是带数据库的, 项目部署到服务器上的时候,也往往需要把数据库放上去。
上传数据库的逻辑是这样的:首先在本地将数据库打包成sql文件,传到服务器中。之后在服务器建立一个新的数据库,导入sql文件。
部署数据库
在终端接入服务器后,进入mysql的环境
mysql -u root -p
会提示你输入密码,之后进入。
先查看一下有哪些数据库:
show databases;
然后创建数据库
create database learnjava;
我建立了名字叫做learnjava的数据库,可以再show一下看看有没有这个数据库。
然后我们进入这个数据库:
use learnjava;
进入后开始导入sql文件:
source /root/Downloads/learnjava.sql;
后面是我本地上传的sql文件的路径。
导入后确认一下是不是成功,可以查看数据表和某张数据表的详细数据:
show tables;
select * from user;