这是我这几天配置服务器的过程,其中省略了我在配置过程中遇到的很多坑,权当一个简单小结和回顾
目前使用华为云服务器,进入控制台先修改安全组,在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
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
官网下载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的启动命令,我暂时没配。
由于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测试一下连接
这里我部署了一个打成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
此时项目部署就大功告成了。