文章目录
- 前言
- 一、服务器环境配置
- 二、数据库导入
- 三、项目打包
- 1、修改项目中的访问路径
- 2、修改db.properties的数据库访问路径
- 3、打包
- 4、修改配置,启动服务
- 四、测试
- 总结
前言
今天学习了在服务器中部署项目,记录一下
一、服务器环境配置
-
首先要安装VMware,网上有很多教程,此处不再赘述。我使用的是14pro
-
在虚拟机中使用CentOs7的镜像新建一个计算机。这个计算机作为我们项目上线的服务器使用
这里建议使用ip地址命名这个服务器,方便我们后期使用,具体的安装步骤和下载镜像等,不再赘述 -
安装FinalShell,它是一个工具,可以让我们链接远程数据库,对其进行操作。安装步骤不再赘述。
安装完成之后,链接我们的服务器如下
-
将适用于linux的jdk1.8压缩包,和Tomcat安装包通过FinalShell传入服务器的root目录
-
删除linux自带的JDK和Tomcat命令如下:
[root@localhost 桌面]# rpm -qa | grep java 查看系统中默认安装的jdk
[root@localhost 桌面]# rpm -e --nodeps java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64
[root@localhost 桌面]# rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.102-4.b14.el7.x86_64
[root@localhost 桌面]# rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.111-2.6.7.8.el7.x86_64
[root@localhost 桌面]# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.111-2.6.7.8.el7.x86_64
[root@localhost 桌面]# java -version
bash: java: 未找到命令...
出现:java -version找不到则卸载成功
- 将压缩包解压到usr/local目录下
[root@localhost ~]# tar -zxvf jdk-8u151-linux-x64.tar.gz -C /usr/local
- 配置环境变量,输入以下命令:
[root@localhost ~]# vim /etc/profile
先输入 i 字母进入编辑模式,然后在文件中输入以下内容
JAVA_HOME=/usr/local/jdk1.8.0_151
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
按esc键退出,输入 :wq 回到当前目录,输入java -version检测是否成功
- 如果不行,需要刷新资源,或者重启虚拟机,刷新资源的配置如下:
[root@localhost ~]# source /etc/profile
- 安装Tomcat,解压到 usr/local 目录下
[root@localhost ~]# tar -zxvf apache-tomcat-8.5.23.tar.gz -C /usr/local
关闭防火墙
[root@localhost ~]# systemctl stop firewalld.service
切换到tomcat的bin目录
[root@localhost ~]# cd /usr/local
[root@localhost local]# cd apache-tomcat-8.5.23/bin
启动tomcat
[root@localhost bin]# ./startup.sh
关闭tomcat
[root@localhost bin]# ./shutdown.sh
- 安装mysql
CentOS中默认安装的是MariaDB,安装完MySQL之后会覆盖MariaDB,由于安装MySQL需要添加很多依赖关系,所以这里使用yum安装.
- .下载MySQL源安装包
[root@localhost ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
…
执行命令出现以下提示
2019-10-17 14:37:41 (230 KB/s) - 已保存 “mysql57-community-release-el7-10.noarch.rpm”
[25548/25548])
-c: 没有那个文件或目录
在 -c 中找不到 URL。
FINISHED --2019-10-17 14:37:41–
Total wall clock time: 7.4s
Downloaded: 1 files, 25K in 0.1s (230 KB/s)
- 安装MySQL源(如果无法安装,先执行该命令:rm -f /var/run/yum.pid)
[root@localhost ~]# yum -y install mysql57-community-release-el7-10.noarch.rpm
…
执行命令出现以下提示
Running transaction
正在安装 : mysql57-community-release-el7-10.noarch 1/1
验证中 : mysql57-community-release-el7-10.noarch 1/1
已安装:
mysql57-community-release.noarch 0:el7-10
完毕!
- 安装MySQL
[root@localhost ~]# yum install mysql-community-server --nogpgcheck
…
执行命令出现以下提示
作为依赖被安装:
mysql-community-client.x86_64 0:5.7.28-1.el7 mysql-community-common.x86_64 0:5.7.28-1.el7
作为依赖被升级:
openssl.x86_64 1:1.0.2k-19.el7 openssl-libs.x86_64 1:1.0.2k-19.el7
postfix.x86_64 2:2.10.1-7.el7
替代:
mariadb-libs.x86_64 1:5.5.52-1.el7
完毕!
- 启动MySQL
[root@localhost ~]# systemctl start mysqld.service
- 查看MySQL运行状态
[root@localhost ~]# systemctl status mysqld.service
执行命令出现以下提示
mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since 四 2019-10-17 15:00:59 CST; 26s ago
- 设置MySQL自启动
[root@localhost ~]# systemctl enable mysqld
- 配置MySQL
[root@localhost ~]# vim /etc/my.cnf
- 在/etc/my.cnf的[mysqld]中增加如下内容:(建议添加到最后一行)
#不添加则在设置MySQL新密码时会错
#用于设置MySQL的字符集
#用于设置MySQL的远程连接
validate_password=off
character_set_server=utf8
skip-name-resolve
- 重新启动MySQL
[root@localhost ~]# systemctl restart mysqld.service
- 此时MySQL已经运行,不过要想进入MySQL还得先找出此时root用户的密码,通过如下命令可以在日志文件中找出密码:
[root@localhost ~]# grep "password" /var/log/mysqld.log
执行命令出现以下提示:
2019-10-17T07:00:52.740835Z 1 [Note] A temporary password is generated for root@localhost: l0hN)kEXugYv
2019-10-17T07:14:54.867706Z 3 [Note] Access denied for user ‘root’@‘localhost’ (using password: YES)
- 登录MySQL
[root@localhost ~]# mysql -uroot -p
输入:l0hN)kEXugYv 进入到MySQL
- 输入初始密码,此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
- 如果执行上面语句报错,则表示设置密码不成功,可能是由于密码级别过低,可以输入下面两个命令:
mysql> set global validate_password_policy=LOW; //设置mysql密码为最低级别
mysql> set global validate_password_length=6; //设置密码长度(根据自己情况设置)
- 设置MySQL可以远程访问
mysql>grant all privileges on *.* to 'root'@'%' identified by '密码' with grant option;
此时可以使用我们的数据库客户端工具进行远程连接,如果连接不上,重启MySQL后再测试
- 测试成功后,退出MySQL
mysql> exit;
Bye
- 卸载Yum Repository,否则每次yum操作都会自动更新
[root@localhost ~]# yum -y remove mysql57-community-release-el7-10.noarch
执行出现以下提示:
…
正在删除 : mysql57-community-release-el7-10.noarch 1/1
验证中 : mysql57-community-release-el7-10.noarch 1/1
删除:
mysql57-community-release.noarch 0:el7-10
完毕!
- 测试远程连接,连接未成功,需要再次关闭防火墙,重启MySQL
关闭防火墙:
[root@localhost ~]#systemctl stop firewalld.service
使用Navcat测试:
至此,服务器基本搭建完成
二、数据库导入
链接上服务器数据库之后,我们需要把windows系统的数据库,迁移到服务器数据库,将原有数据库导出转储sql文件,然后在服务器数据库新建查询,执行sql即可,此处略。
三、项目打包
只有打成war包,才能部署到服务器,但在打包之前,我们还需要一些步骤。
1、修改项目中的访问路径
所有有关localhost:8080的路径地址都需要修改,要么加上服务器ip,要么就以上图这种形式。
2、修改db.properties的数据库访问路径
此处换上服务器的ip和服务器mysql的数据库名
3、打包
先清除之前的编译文件,否则由于修改了部分配置,打包会报错
然后点击package等待打包完成
target目录下出现此文件,就是我们打好的包,然后将其传入服务器
4、修改配置,启动服务
将打好的war包,通过FinalShell导入到tomcat安装目录下的webapps问价夹下
此时Tomcat若是处于开启状态,那么会自动帮我们解压
由于我们打的jar包是自动生成的我们还需要修改一下conf文件夹中的server.xml配置,否则可能会出现运行项目出现问题。我们需要在host标签中,加入以下代码:
<Context path="" docBase="包名" reloadable="true"></Context>
修改完成后,切换到bin目录下,启动服务
启动tomcat
[root@localhost bin]# ./startup.sh
关闭tomcat
[root@localhost bin]# ./shutdown.sh
四、测试
输入信息
跳转首页
各项功能正常
总结
虚拟机搭服务器,目前大多被用来当作自测的一种解决方案,只允许本机访问,想外网访问的话,还是搭建云服务器更加方便