本机系统为windows,远程服务器为ubuntu 17.10,下面简单讲述部署maven项目到远程服务器的tomcat上。虽然一般应该使用时nginx+tomcat的组合,但是从学习嘛,总得一步一步来。下列步骤经过个人实践,当然难免有不足的地方,请见谅。
准备
- 远程连接工具(如Putty)
- windows的ftp客户端(网上一抓一大把)
- 一台服务器
- 能使用简单的linux命令
步骤
服务器安装jdk
- 可以在官网上安装tar.gz包解压,也可以使用apt安装,因为网上详细的教程实在太多了,不作讲述。另外贴上一个教程https://www.digitalocean.com/community/tutorials/how-to-install-java-with-apt-get-on-ubuntu-16-04
服务器安装vsftpd
- 更新包索引:
$ sudo apt update
- 安装:
$ sudo install vsftpd
(忘记当时有没有安装了,好像ubuntu 17.10默认安装了,如果没有安装也很简单) - 创建ftp用户(即例如在windows中用上传文件,那么就专门使用这个用户):
$ sudo adduser ftpuser
,adduser命令会让你填写密码,并且自动在/home下创建主目录 更改配置文件:
$ sudo vim /etc/vsftpd.conf
1.确保 : anonymous_enable=NO 2.进行ftpuser活动限制:只能让他在自己home目录中活动 :找到并打开注释变为 chroot_list_enable=YES # (default follows) chroot_list_file=/etc/vsftpd.chroot_list 上述表示要对用户进行限制 3.在限制文件中加入ftpuser: $ sudo vim /etc/vsftpd.chroot_list;然后简单地在第一行写上ftpuser即可(同你之前创建的用户名字相同) 4.为限制用户提供写权限:打开注释 write_enable=YES
- 启动:
$ sudo systemctl start vsftpd
- 检查是否启动:
$ sudo systemctl status vsftpd
$ sudo netstat -tulnp | grep vsftpd
- 然后windows下载一款ftp客户端,使用ftpuser账号登陆,就可以愉快地上传文件了。当然了,记得把本机的数据库导出一份传到服务器上哦。
服务器安装mysql
- 安装mysql-server:
$ sudo apt install mysql-server
,安装过程中要填写root密码 - 开启mysql服务:
$ sudo systemctl start mysql
- 检查mysq服务是否开启(也可以查看默认开启端口3306是否开启):
$ sudo systemctl status mysql
$ sudo netstat -tulnp | grep 3306
- 登陆:
$ mysql -u root -p
,输入密码 - 然后就可以创建数据库,把上传来的sql文件导入了
安装tomcat
- 在apache官网上下载tar.gz包,放在/opt目录下,解压即可,为了方便可以给目录递归赋予755权限.
将maven打包成war并上传
- 本人使用的ide是idea,打包的方式十分简单,双击shift键输入maven project,选中Lifecycle中的package,并按绿色类似运行的按钮,就可以打包成war包了(控制台中可以看到输出路径,一般都是在Target目录下)。
- 上传war包:使用ftp上传,然后移动到tomcat的webapp目录中,启动tomcat就会自动将war包解压(例如你的war包叫foobar.war,那么启动tomcat后就会多一个foobar的目录)。
- 到bin目录中启动tomcat,然后本机访问
server_ip:8080/foobar/...
就可以访问到你的项目了,注意,foobar对应你的war包名称foobar.war
,如果想要改项目名称,只要在启动tomcat前重命名war包即可