本项目以腾讯云CentOS7 64位系统为例
提前准备:
Linux云服务器
Xshell(连接远程服务器)、XFtp(文件传输)
web项目所需Linux安装包
如有需要,附所需安装包地址(tomcat、jdk1.8,无数据库):
https://download.csdn.net/download/weixin_42532968/12280868
因为MySQL安装包过大,需要至官网下载
https://dev.mysql.com/downloads/mysql/
Xshell连接远程服务器
在Xshell中,首先将目录切换至/home目录
1、rpm下载地址http://www.oracle.com/technetwork/java/javase/downloads/index.html
2、如果有安装openjdk 则卸载
[root@ ~]# java -version
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
# 检查
[root@ ~]# rpm -qa|grep jdk
jdk1.8.0_121-1.8.0_121-fcs.x86_64
# 卸载 -e --nodeps 强制删除
[root@ ~]# rpm -e --nodeps jdk1.8.0_121-1.8.0_121-fcs.x86_64
[root@ ~]# java -version
-bash: /usr/bin/java: No such file or directory # OK
3、安装JDK,切换至home目录
# 安装java rpm
[root@ ]# rpm -ivh jdk-8u221-linux-x64.rpm
# 测试 java -version
[root@kuangshen java]# java -version
java version "1.8.0_221"
Java(TM) SE Runtime Environment (build 1.8.0_221-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)
1、安装好了Java环境后,准备好Tomcat的安装包!
2、在/usr/目录下新建tomcat目录:mkdir tomcat
3、将home目录下tomcat文件移动到/usr/tomcat/下,并解压
[root@ home]# mv apache-tomcat-9.0.22.tar.gz /usr
[root@ home]# cd /usr/tomcat
[root@ tomcat]# ls
apache-tomcat-9.0.22.tar.gz
[root@ tomcat]# tar -zxvf apache-tomcat-9.0.22.tar.gz # 解压
3、运行Tomcat,进入bin目录
# 执行:startup.sh -->启动tomcat
# 执行:shutdown.sh -->关闭tomcat
./startup.sh
./shutdown.sh
4、确保Linux的防火墙端口是开启的主要端口:80、443、3306、8080端口打开,其余端口根据自己项目进行配置如果是阿里云,需要保证阿里云的安全组策略是开放的!命令如下
# 查看firewall服务状态
systemctl status firewalld
# 开启、重启、关闭、firewalld.service服务
# 开启
service firewalld start
# 重启
service firewalld restart
# 关闭
service firewalld stop
# 查看防火墙规则
firewall-cmd --list-all # 查看全部信息
firewall-cmd --list-ports # 只看端口信息
# 开启端口
开端口命令:firewall-cmd --zone=public --add-port=80/tcp --permanent
***重启防火墙:systemctl restart firewalld.service
或:firewall-cmd --reload
命令含义:
--zone #作用域
--add-port=80/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
首先检查是否有以前版本,使用如下命令:
rpm -qa | grep -i mysql(检查之前版本)
yum -y remove mysql-libs*(卸载之前安装所有)
进入官网
1.Select Operating System: 选择 Red Hat ,CentOS 是基于红帽的,Select OS Version: 选择 linux 7
2.选择 RPM Bundle 点击 Download
3.通过 cd /usr/local/ 命令进入根目录下的usr目录下的local目录,这个目录是放一些本地的共享资源的,创建mysql文件夹
cd /usr/local/mysql
将刚刚下载好的文件移动到此解压
tar -xvf mysql-8.0.19-1.el7.x86_64.rpm-bundle.tar 命令解压tar 包
将除了rpm-bundle.tar包之外的所有rpm包进行安装,命令如下:
rpm -ivh rpm安装包名称 --nodeps --force
例如:rpm -ivh mysql-community-client-8.0.19-1.el7.x86_64.rpm --nodeps --force
注意: 因为windows下Mysql是不区分大小写的,也就是 lower_case_table_names=1
而Linux系统下安装Mysql后,系统默认是明确区分大小写,因此注意设置。
在mysql下使用命令查看数据库是否区分大小写:
show variables like '%lower%';//结果为0是区分,1是不区分
vim /etc/my.cnf
lower_case_table_names=1
systemctl restart mysqld.service
如果这个操作是初始化数据库之后,也就是安装后运行过服务,那就可能会出错。
错误类似于Job for mysqld.service failed because the control process exited with error...
然后就无法启动 mysql 服务了,除非打开 vim /etc/my.cnf
把追加的lower_case_table_names=1
删除掉。
systemctl stop mysqld.service
rm -rf /var/lib/mysql
接下来开始初始化初始化mysql数据库
1. mysqld --initialize;
2. chown mysql:mysql /var/lib/mysql -R;
3. systemctl start mysqld.service;
4. systemctl enable mysqld;
若出现:mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory错误,
请输入以下命令:
yum install -y libaio //安装后在执行上述命令
此时数据库密码为mysql自行设置,需要通过如下命令:
cat /var/log/mysqld.log | grep password
查看数据库密码
通过 mysql -uroot -p 敲回车键进入数据库登陆界面
输出刚刚获得的数据库初始密码进入数据库,复制粘贴即可,登录时不显示密码
在Mysql命令下,输入如下命令,将密码初始化为root(可根据需求自行更改)
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
因服务器端并无图形化界面显示mysql,因此作者采用使用本地远程登录服务器方式进行登录
配置远程访问用户授权
create user 'root'@'%' identified with mysql_native_password by 'root'; //创建远程登录密码为root,但服务器远程登录建议使用复杂密码!!!
grant all privileges on *.* to 'root'@'%' with grant option; //添加数据库所有权限给远程用户
flush privileges; //刷新数据库权限
通过 ALTER USER 'root'@'localhost' IDENTIFIED BY 'root' PASSWORD EXPIRE NEVER; 命令修改加密规则,MySql8.0 版本 和 5.0 的加密规则不一样,而现在的可视化工具只支持旧的加密方式。
flush privileges;
1.首先关闭firewall
1. systemctl stop firewalld.service;
2. systemctl disable firewalld.service;
3. systemctl mask firewalld.service;
2.通过yum -y install iptables-services 安装iptables防火墙
3.通过以下命令启动设置防火墙
systemctl enable iptables;
systemctl start iptables;
4.通过vim /etc/sysconfig/iptables命令添加端口
添加如上端口,命令如下(除以下端口,自己项目所需开放端口自行设置):
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8090 -j ACCEPT
添加完成后退出vim,通过:
systemctl restart iptables.service 命令重启防火墙使配置生效
systemctl enable iptables.service 命令设置防火墙开机启动
通过windows或其他平台可视化软件远程连接数据库,笔者使用windows平台的navicat软件
建立连接
连接成功
然后建立数据表(根据项目需求,如不清楚请查看项目配置文件)
然后在所需数据库中,右键运行sql文件即可
此刻数据库工作完成
3.点击+号后弹出以下界面,选择如图:
4.在下图中,自行设置输出war包目录
5.返回后,点击工具栏中Build
Build后即可,然后到输出路径,使用Xftp将war包传输至tomact目录下webapp目录,等待tomcat自动解压,完成后即可访问。
若需要更改首页为项目地址,方案如下:
1.修改tomcat的核心配置文件server.xml,将默认的8080端口更改为80端口
在server.xml文件的前添加如下一行代码
注意:docBase内值为项目的名称,按需修改,reloadable="true"表示修改了jsp文件后不需要重启就可以实现显示的同步。此时即可通过服务器Ip访问项目。部署完毕