第二次部署阿里云项目的经验 2020-03-14 15:07 # JDK8在CentOS7系统上安装配置 使用Xshell工具远程连接后 - **1、下载** 先在本地下载linux版本的jdk,地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 选择你需要的版本。下载.tar.gz结尾的。 - **2、将安装包上传到云服务器** 在Xshell中运行`yum install lrzsz`安装rz工具。(或者使用filezila工具上传都行),中间输入y,看到Complete即可。 `cd usr` `mkdir java` `cd java` `rz` 弹框中选择本地文件,上传即可。 - **3、解压及配置** `tar -zxvf jdk-8u221-linux-x64.tar.gz` 解压 `vim /etc/profile` 配置,用vim编译器编辑配置文件profile,添加环境变量。 输入i 进入插入模式,到文本最后,添加 ``` export JAVA_HOME=/usr/java/jdk1.8.0_221 export PATH=$PATH:$JAVA_HOME/bin ``` 注意jdk路径和版本号要改为你自己的。 `source /etc/profile` 执行文件,使配置立即生效 `java -version` 查看版本信息,正确输出即可。 # MySQL8在CentOS7系统上安装并配置远程访问 前提:全新系统,之前没有安装过MySQL。 本教程是记录的云上安装MySQL环境。 - **0、检查是否有自带的MySQL** `rpm -qa | grep mysql` 如果有,就卸载 `rpm -e --nodeps mysql` - **1、配置MySQL8.0安装源** `sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm` - **2、安装MySQL8.0** `sudo yum --enablerepo=mysql80-community install mysql-community-server` > 此过程较慢,大概10~20min,中间出现提示,输入y即可。看到有Complete即为完成。 - **3、启动MySQL** 先进入bin里面。 `sudo service mysqld start` 显示:Redirecting to /bin/systemctl start mysqld.service。即为启动完成。 - **4、查看MySQL服务运行状态** `service mysqld status` 显示一大堆,中间看到绿色的running即可。 若没有启动,则使用`sudo systemctl restart mysqld`重启试试。 - **5、查看root用户临时密码** `grep "A temporary password" /var/log/mysqld.log` 冒号后面的就是。(不包含冒号后面的空格,这里的临时密码要先记下来) - **6、更改临时密码** mysql -uroot -p 输入密码(不显示) 登录成功后,使用`ALTER USER 'root'@'localhost' IDENTIFIED BY '新的密码';`更改密码。 发现不成功。提示: Your password does not satisfy the current policy requirements。密码策略不对。 意思就是你的密码不符合要求。 那怎么办,我们就只好先使用之前的临时密码“修改”一遍密码咯。(因为不先修改一次密码我们什么都做不了) - - `ALTER USER 'root'@'localhost' IDENTIFIED BY '临时密码';`(成功修改密码后我们就能做其他事情:比如修改密码策略) - `SHOW VARIABLES LIKE 'validate_password%';` 查看密码策略 - `set global validate_password.policy=LOW;` 将密码的安全性改为低 - `set global validate_password.length=6;` 将密码设为6位即可(改后并不是密码必须6位,7位也可)。 - `ALTER USER 'root'@'localhost' IDENTIFIED BY '新的密码';` 更改完毕。 - 7、配置远程访问 - - `use mysql` 先使用mysql库 - `select host, user, authentication_string, plugin from user;` 可以查看用户信息 - `create user 'root'@'%' identified by '你的密码';`创建一个记录 - `GRANT ALL ON *.* TO 'root'@'%';` - `ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的密码';` 现在你已经可以远程连接你的MySQL了,如果不行就试下`FLUSH PRIVILEGES; `刷新权限。 如果还是不行就查看防火墙状态,要把防火墙关闭。 还要在本地实例安全组上添加安全组规则,把3306端口开放。 **如果在SpringBoot项目中使用MySQL数据库,则需要在链接url后面加上&allowPublicKeyRetrieval=true。否则本地访问云端项目,会报数据库连接错误问题:Public Key Retrieval is not allowed** 另外注意,MySQL8中,大小写是敏感的(在连接信息中[url]数据库名字要区分大小写)。 # 不间断运行开启程序 在~下新建start.sh `vim start.sh` 填入`java -jar 你的jar包名字.jar` 保存退出。 `chmod 777 start.sh ` 赋予管理员权限 `nohup ./start.sh & ` 不间断运行文件内的指令 , 即可让此运行程序不停的跑,这样即使我们的连接工具关闭,但是云服务器开启,就能一直访问的到。 & 是在后台运行的意思。 `netstat -anp | grep 9090` 查看端口使用情况。 【nohub是no hang up的缩写,即不挂断的意思,该命令可以在你退出账户/关闭终端后仍然运行相关进程。 在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中。后面添加 & 符号意为后台运行】 **如何查看日志:** 查看最近500行日志: tail -500 nohup.out 实时查看启动日志 :tail -f nohup.out # 域名解析 如果你购买的域名是riun.xyz。那么正常情况下,我们是想要可用通过`www.riun.xyz`和`riun.xyz`均可访问的(省略了http部分,因为浏览器会默认添加上http://)。收线我们要搞清楚,我们买的域名是`riun.xyz`,而像`www.riun.xyz`这样的叫做子域名,我们买了一个`riun.xyz`,就可拥有多个子域名,我们可以根据情况自定义使用。 像最简单的情况我们只需要用到`www.riun.xyz`和`riun.xyz`访问我们的服务时,就需要添加两条域名解析: - 一条是www解析  指的是将www.riun.xyz 解析到指定的ip上,访问www.riun.xyz 就是访问ip - 一条是不带www的解析  @代指没有,直接解析主域名,就是将 riun.xyz 解析到指定的ip上,访问 riun.xyz 就是访问指定ip 如果你想用 img.riun.xyz 作为图片域名的话,就需要添加一条解析记录,类似是A ,主机记录填img,记录值仍填ip。但是这样 img.riun.xyz 就和 www.riun.xyz 重复了,都指向同一个ip代表的云服务器,怎样区分他们呢? 这就要用到反向代理,需要在你的云服务器上配置一下,将不同应用设置为不同端口。这样,当 img.riun.xyz 和www.riun.xyz 都访问你指定ip的云服务器时,只需要将不同url代理到本机不同端口上的应用即可。 例如你的云服务器上的80端口的应用是主应用,9090端口是图片服务。 那就需要这样配置: 80 www.riun.xyz 9090 img.riun.xyz 这样就能实现访问 www.riun.xyz 是访问的80端口的应用,访问 img.riun.xyz 是访问的9090端口的应用。 我自制了一张图(右键在新标签页中打开图片可查看大图)  --END--
发表评论