华为云Centos7.6系统JavaWeb环境搭建及实现项目访问

这是我这几天配置服务器的过程,其中省略了我在配置过程中遇到的很多坑,权当一个简单小结和回顾

1.云服务器配置

目前使用华为云服务器,进入控制台先修改安全组,在sys-default中添加入方向规则 ICMP(web服务器必需),3306 (mysql),8080 (tomcat)。通过Xshell 6和Xftp 6对服务器进行连接。

centos7 采用firewal作为防火墙,之前版本是使用iptables,可以自行通过yum安装iptables,并禁用firewall的功能,在其中设置规则。 但由于华为云的安全组已经进行了一次约定,所以在这里不启用防火墙,依靠华为云的安全组进行防护。

//1.安装或者更新iptables-services
$ yum install iptables-services
//2.启动iptables
$ systemctl enable iptables 
//这个时候,/etc/sysconfig目录下面就有了iptables文件了。
//3.打开iptables
$ systemctl start iptables 
//4.编辑
$ vim /etc/sysconfig/iptables
//5.重启防火墙
$ service iptables restart
//6.关闭防火墙
$ systemctl stop iptables
$ system stop firewalld
//7.取消开机自启
$ systemctl disable iptables 
$ systemctl disable firewalld
//8.查看两者状态,是inactive即已经关闭
$ systemctl status firewalld
$ systemctl status iptables 

2.配置java运行环境

https://repo.huaweicloud.com/java/jdk/
先在华为云的镜像下可快速下载jdk,选择linux-x64.tar.gz版本,通过xtfp传输到/usr/local/目录下进行安装并进行环境变量配置

$ cd  /user/local
$ tar  -zxvf  jdk-8u202-linux-x64.tar.gz
$ rm -rf jdk-8u202-linux-x64.tar.gz
//安装vim编辑器
$ yum -y install vim
//配置环境变量
$ vim /etc/profile
//profile末尾添加内容
  JAVA_HOME=/usr/local/jdk1.8.0_202
  CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  PATH=$JAVA_HOME/bin:$PATH
  export JAVA_HOME CLASSPATH PATH
//验证是否成功
$ java -version 
$ javac

3.配置tomcat

官网下载tar.gz版本 将下载得到的apache-tomcat-8.5.51.tar.gz传输到/usr/local下进行安装和配置

$ cd /usr/local
$ tar  -zxvf apache-tomcat-8.5.51.tar.gz
$ rm -rf apache-tomcat-8.5.51.tar.gz
//配置环境变量
$ vim  /usr/local/apache-tomcat-8.5.51/bin/setclasspath.sh
    //添加内容
    export JRE_HOME=/usr/local/jdk1.8.0_202/jre
    export CLASSPATH=.:$JRE_HOME/lib:$CLASSPATH
    export PATH=$JRE_HOME/bin:$PATH
//启动服务器
$ /usr/local/apache-tomcat-8.5.51/bin/startup.sh

外部访问测试http://ip:8080,出现tomcat主页即成功,这里还可以继续去配置tomcat的启动命令,我暂时没配。

4.配置mysql

由于yum是外国源,直接通过yum下载会很慢,故更换成阿里源

//1、备份
$ mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
//2、下载源

$ wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    //或者
$ curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

yum默认下载5.7版本的mysql数据库,我把它改成了8.0进行安装和配置

//查询目前可下载的mysql程序
$ yum repolist all | grep mysql
//默认启用5.7版本,8.0版本是禁用,故进行修改
$ vim /etc/yum.repos.d/mysql-community.repo
//其中可以看到5.7版本, enabled=1, 改为enabled=0, 禁用掉
//另外可以看到8.0版本, enabled=0, 改为enabled=1, 开启。
//:wq 保存并退出
//再次查询验证8.0版本是否启用
$ yum repolist all | grep mysql
//确认启用后进行下载
$ yum install -y mysql-community-server
//完成后启动MySQL
$ systemctl start mysqld
//查看MySQL启动状态
$ systemctl status mysqld
//设置mysql开始自启
$ systemctl enable mysqld

MySQL安装完成之后会在LOG文件( /var/log/mysqld.log)中生成一个默认的临时密码,可根据自己的实际情况修改(冒号后面为旧密码)。2019-08-24T05:32:58.277335Z 0 [System] [MY-013169] [Server] /usr/sbin/mysqld (mysqld 8.0.17) initializing of server in progress as process 58121
2019-08-24T05:33:04.727785Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: jb_klPPYe12w(临时密码)
2019-08-24T05:33:06.400398Z 0 [System] [MY-013170] [Server] /usr/sbin/mysqld (mysqld 8.0.17) initializing of server has completed
2019-08-24T05:33:09.808077Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.17) starting as process 58170
2019-08-24T05:33:12.378185Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2019-08-24T05:33:12.428422Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: ‘8.0.17’ socket: ‘/var/lib/mysql/mysql.sock’ port: 3306 MySQL Community Server - GPL.
2019-08-24T05:33:12.522176Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Socket: ‘/var/run/mysqld/mysqlx.sock’ bind-address: ‘::’ port: 33060

//登录并修改密码
$ mysql -uroot -p
password:
mysql>ALTER USER 'root'@'localhost' IDENTIFIED BY 'Linuxidc.com@123';

这里的Linuxidc.com@123 为新密码。新密码强度默认为中等,需要同时有大小写字母、数字、特殊符号,只有修改成功后才能修改配置再设置更简单的密码。
设置简单密码参考:
https://www.linuxidc.com/Linux/2019-08/160317.htm
设置远程连接用户

//其中%表示允许所有主机登录使用
mysql> CREATE USER 'tele_user'@'%' IDENTIFIED BY '123456';
//如果依然提示密码过于简单
mysql> set global validate_password.policy=0;
mysql> set global validate_password.length=1;
//mysql8.0默认的加密方式是“caching_sha2_password”,而navicat只支持以前的"mysql_native_password",所以接下来修改密码加密方式
mysql> ALTER USER 'tele_user'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
//设置远程登录权限
mysql> GRANT ALL PRIVILEGES ON *.* TO 'tele_user'@'%';
//刷新权限
mysql> flush privileges;

上述操作参考:https://www.cnblogs.com/lylongs/p/11048714.html
此时在本地电脑上用navicat测试一下连接

5.项目部署并访问

这里我部署了一个打成war包的maven项目,在项目中使用了c3p0数据库连接池,开始是将c3p0-config.xml文件直接放放在了java目录下,导致maven install时未将次配置文件打进war包中,项目在服务器上运行报错,之后将配置文件放在resource文件夹内解决问题。由于tomcat和mysql都在服务器上,所以数据库配置文件的url中填写localhost就好,同时要加上&allowPublicKeyRetrieval=true避免项目运行时出现Public Key Retrieval is not allowed的错误。
例如:

jdbc:mysql://localhost:3306/db_library?allowPublicKeyRetrieval=true&useSSL=false&serverTimezone=UTC&characterEncording=utf-8

此时项目部署就大功告成了。

发布了24 篇原创文章 · 获赞 4 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/weixin_44804750/article/details/104437207