前言
也是第一次部署项目到服务器上,大牛勿喷。由于将项目部署到Linux系统上,所以最好是有可视化工具得东西,这样比较简单快捷。我这里用得是xshell和xftp,由于是war包,所以需要放在服务器上面,这里我选择得是tomcat服务器。本文用到得工具安装包我都放在了qq群里,如果有需要得话可以进群下载。
参考资料:
https://blog.csdn.net/qq_37335220/article/details/81707997 项目打包教程
https://jingyan.baidu.com/article/154b46311a6feb28ca8f412e.html Linux开启tomcat教程
https://www.cnblogs.com/wangdaijun/p/6132632.html 安装mysql数据库
一、打包
我是用idea打包,点击右边得Maven Project---clean
点击右边得Maven Project---clean---install
二、上传jar包到tomcat服务器
先找到打包好的项目,由于我这里打成得是war包所以就需要在服务器上面安装tomcat,如果打成的是jar包得话,请按照此教程
https://blog.csdn.net/qq_37335220/article/details/81707997
这里需要连接工具连接Linux系统,也就是你得服务器
0.使用当时部署tomcat的用户连接到远程的linux操作系统
1.将war包放到tomcat得webapps下面,我这里使用得是xftp
2.进入到tomcat的bin目录
cd /usr/local/tomcat/bin
自己的环境,可能安装的目标不一样,需要自己把握
3.使用ls命令,可以看到bin目录下的文件
运行bin目录下的启动命令脚本
sh startup.sh或者./startup.sh
这样tomcat就启用了
4.查看tomcat进程是否启动
使用ps aux | grep tomcat查看tomcat进程是否启动
5.关闭tomcat
同样在tomcat的bin目录下,使用sh shutdown.sh可以关闭tomcat
6.由于将项目添加到了tomcat下,我们也可以直接在浏览器访问我们得项目
这个就代表我们得tomcat启动成功,现在我们可以试着访问我们得项目
7.访问路径格式
http://服务器得ip地址:8080/项目名称/方法名称
http://192.168.195.147:8080/bootdemo/findUserAll 这是我本人得项目访问路径
报错了,这是因为我得项目需要访问数据库来查询数据,但是我们得Linux系统上面并没有我们本地得数据库,所以我们需要来安装一个数据库,由于我用得是mysql,下面就是安装mysql得教程
三、安装mysql数据库
环境:
1、操作系统:Centos7.3.ova
2、安装版本: mysql-5.6.41-linux-glibc2.12-x86_64.tar.gz
安装步骤
0.卸载老版本得Mysql
查找并删除mysql有关的文件
find / -name mysql rm -rf 上边查找到的路径,多个路径用空格隔开 #或者下边一条命令即可 find / -name mysql|xargs rm -rf
1.在安装包存放目录下执行命令解压文件:
tar -zxvf mysql-5.6.41-linux-glibc2.12-x86_64.tar.gz
2.删除安装包,重命名解压后的文件
rm -f mysql-5.6.41-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.6.41-linux-glibc2.12-x86_64/ mysql
3.添加mysql用户组和mysql用户
首先检查是否有mysql用户组和mysql用户
若有则跳过:
若无则添加:
groupadd mysql
useradd -r -g mysql mysql
4.进入mysql目录更改权限
cd mysql/
chown -R mysql:mysql ./
5.执行安装脚本
./scripts/mysql_install_db --user=mysql
执行这一步可能会出错,这是因为没有autoconf库,安装就好
yum -y install autoconf
安装完成之后继续执行安装mysql的命令:./scripts/mysql_install_db --user=mysql
安装完之后修改当前目录拥有者为root用户,修改data目录拥有者为mysql
chown -R root:root ./
chown -R mysql:mysql data
6.更改mysql密码
./bin/mysqladmin -u root -h localhost.localdomain password 'root'
这里更改密码可能会出现错误,因为mysql服务还没有启动,启动方法如下
./support-files/mysql.server start
如果启动失败的话,是因为mysql得进程已经存在,杀掉就好,具体操作如下
ps aux|grep mysql
kill -9 显示的进程号
杀掉进程以后再重新启动就可以了
MySQL启动之后再执行如下命令更改密码:
./bin/mysqladmin -u root -h localhost.localdomain password 'root'
密码更改后即可登录MySQL
./bin/mysql -h127.0.0.1 -uroot -proot
密码如果是123456的话 ./bin/mysql -h127.0.0.1 -uroot -p123456
7、增加远程登录权限
上一步即可本地登录,但远程登录会报错
为解决这一问题,需要本地登陆MySQL后执行如下命令
grant all privileges on *.* to root@'%' identified by 'root';
flush privileges;
执行之后即可远程登录
8.将Mysql加入service系统服务
cp support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on
service mysqld restart
查看一下mysql的状态
service mysqld status
9.配置my.cnf
vim my.cnf 打开my.cnf文件 添加以下三条语句并保存退出
character_set_server=utf8
lower_case_table_names=1
max_allowed_packet=100M
10.配置好之后,重启mysqld服务
到此我们的mysql就装好了,然后我们开始测试我们的项目
输入项目网址 http://192.168.195.147:8080/bootdemo/findUserAll 查询数据成功
测试项目的时候需要注意 mysql的配置连接
在Linux系统上不能用localhost连接数据库,因为linux连接的时候不是采用tcp协议,而是通过sockect来连接。所以写localhost之后就会默认取找sockect链接【此文件在/var/lib/mysql/mysql.sock】所以这里要用ip192.168.195.147来连接,强制让他走tcp协议
以上就是我在部署项目时的步骤和遇到的一些问题,若有不正之处,希望谅解并欢迎批评指正。新建了一个java得交流群,有兴趣得也可以进群交流,434138992。如果大家有其他疑问,也可在文章下留言。