1.通过Intellij Idea 将项目打包成war 包
生成war包过程:
生成后的war 包位置: /项目名/out/项目名_war/项目名_war.war
2. 通过SSH Secure File Transfer 连接到远程服务器
获取云服务器ECS 的公网ip地址,以及登录名和登录密码(即远程CentOS服务器上的用户名和登录密码)
连接到控制台
3. CentOS 上安装 jdk1.8
下载
为了操作方便,在windows上下载好 jdk 的 压缩包,通过 SSH file transfer 拖进 远程服务器中
注意:选择 jdk-8u144-linux-x64.tar.gz
等以 tar.gz 结尾压缩包
将压缩包复制到远程CentOS系统中
安装配置jdk
1)查看当前Linux系统是否已经安装java
rpm -qa | grep java
2)卸载已有的 java
rpm -e --nodeps 安装包名
3)安装jdk运行需要的插件
yum install glibc.i686
4 ) 解压jdk到/usr/local下
tar –xvf jdk-8u144-linux-x64.tar.gz –C /usr/local
5)配置jdk环境变量,打开/etc/profile
配置文件,将下面配置拷贝进去
#set java environment
JAVA_HOME=/usr/local/jdk1.8.0_144
CLASSPATH=.:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
6 ) 重新加载/etc/profile
配置文件
source /etc/profile
4.安装MySql 5.7
由于MySQL被Oracle收购,所以从Centos7开始不再默认安装mysql而用Mariadb代替,需要使用一些方法才能正确安装Mysql
1.首先查看是否有Mariadb,有则卸载Mariadb,否则安装Mysql会产生冲突
rpm –qa | grep mariadb #查看mariadb安装包
rpm -e --nodeps mariadb-libs-xxxxxxxxx. #卸载mariadb
检查系统自带的MySQL及相关RPM包,是否安装
rpm -qa | grep -i mysql
如果有安装,则移除(rpm –e 名称)
yum -y remove mysql
2.下载安装 mysq57 的 rpm 包
从官网下载 rpm 包mysql57-community-release-el7-11.noarch.rpm,并从windows 复制到 CentOS 服务器上
复制到CentOS服务器后,安装 rpm 包
rpm -ivh mysql57-community-release-el7-11.noarch.rpm
3.安装mysql环境及其依赖包
yum install mysql mysql-server mysql mysql-devel
4.启动mysql 服务
systemctl start mysqld.service #启动mysql服务
systemctl enable mysqld.service #设置开机启动mysql服务
5.登录mysql
由于 mysql 5.7 版本在安装时会创建随机密码,故得先找到该密码
位置: /var/log/mysqld.log
vim /var/log/mysqld.log
mysql -u root -p
Enter password: #输入生成的随机密码
6.修改密码
mysql>ALTER USER USER() IDENTIFIED BY 'root'
执行后报错:
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
原因:mysql 5.7 对密码的复杂性有了要求
解决方法:
mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=4;
mysql> ALTER USER USER() IDENTIFIED BY 'root';
7. 重新登陆
# mysql> exit
# mysql -u root -p
8. 开启mysql的远程登录
默认情况下mysql为安全起见,不支持远程登录mysql,所以需要设置开启 远程登录mysql的权限
登录mysql后输入如下命令:
grant all privileges on *.* to 'root' @'%' identified by 'root';
flush privileges;
9. 设置mysql 远程访问
1.首先将 3306 端口添加到防火墙开放端口
firewall-cmd --permanent --zone=public --add-port=3306/tcp
firewall-cmd --permanent --zone=public --add-port=3306/udp
2.重启防火墙
systemctl restart firewalld.service
3.云服务器ECS添加安全组
在访问ECS服务器的某个端口时,会被阿里云屏蔽掉,因此需要将该端口添加到安全组(即设置为可以被访问)
4.通过sqlyog 远程连接CentOS 服务器上的mysql
6.安装 Tomcat
1.下载tomcat
在windows上下载tomcat9, 然后复制到 CentOS服务器中
2.解压启动
解压
tar -xvf apache-tomcat-9.0.0.M26.tar.gz -C /usr/local
得到的文件夹名太长,更改为tomcat
cd /usr/local
mv apache-tomcat-9.0.0.M26/ tomcat
进入 /usr/local/tomcat/bin下,运行 startup.sh
cd /usr/local/tomcat/bin
./startup.sh
7.设置tomcat远程访问
1.首先将 8080端口添加到防火墙开放端口
firewall-cmd --permanent --zone=public --add-port=8080/tcp
2.重启防火墙
systemctl restart firewalld.service
3.云服务器ECS添加安全组
现在外网就可以通过 云服务器ECS 公网ip+端口号访问tomcat下的项目了
http://43.198.32.32:8080
扩展: 将tomcat 设置为80端口访问
1.进入/usr/local/tomcat/conf/
下,修改里面的server.xml
文件
cd /usr/local/tomcat/conf
vim server.xml
2.重启tomcat服务器
cd /usr/local/tomcat/bin
./shutdown.sh
./startup.sh
3.首先将 8080端口添加到防火墙开放端口
firewall-cmd --permanent --zone=public --add-port=8080/tcp
4.重启防火墙
systemctl restart firewalld.service
5.将80端口添加到阿里云ECS安全组
此时,就可以直接通过ip地址访问tomcat服务器了(不输入端口号,默认访问的是80端口)