最近学习了Web开发前后端等技术,便想着将项目部署到云服务器,方便后续管理,顺便学习一下部署云服务器的过程。

购买与连接云服务器

部署云服务器,首先需要的便是购买云服务器,这里我选择的是阿里云服务器,注册实名认证这里就不详细说明了,我购买的是云服务器ECS,可以选择大学生优惠,一个月9.5元,算是很实惠的。

a4471c003a2f6f6d382eff42d073d60a.png

我选择的操作系统是Linux版的 centos_7_03_64,后续还可以自己去购买一个域名。

购买完之后可以点击图里的更多进行重置密码,我这里已经重置过了,就不给大家演示了。

154f7191a8f34c655ff37642f96d5882.png

接下来就是管理云服务器,我电脑是Windows系统,选择的是XShell和Xftp,官方网址我放到下方了,

官方网址:https://www.netsarang.com/zh/all-downloads/

参加公测版就可以免费使用,推荐选择学校的企业邮箱注册,首次下载也可以免费试用30天。

b5b656b46c26d4cbf5f9568b42849fba.png

下载完打开软件新建会话,填写ip地址就可以连接到云服务器

d4f7ab708a265c1ccf1c6f14a5eeb855.png

部署云服务器

连接云服务器之后,就可以开始部署云服务器了,由于部署的是Web项目,这里我分成三部分:Tomcat,JDK,MySQl(或者其他数据库,这里以MySql为例),前两部比较简单,主要是数据库的部署有些麻烦。

Tomcat

首先去apach官网下载Tomcat,网址我放到了下方

http://tomcat.apache.org/download-80.cgi,注意下载的版本和后缀,Linux选择tar.gz

4558e03678a9d92444072571120b6c03.png

下载完之后使用Xftp上传到云服务器,然后进行解压:

091a69ad639065e8ec8f79bf1c5d6f56.png

等待解压完成后,进行Tomcat环境的配置,这里我们需安装JDK。

JDK

还是跟Tomcat一样,先去官网下载安装包。

https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html,注意看清操作系统。

9fb5637f45019e07060c7735c0c6dfde.png

下载完之后,进行解压

dea2abece3ed3350fd9306dda8f752bf.png

解压完之后就可以配置JDK环境

#vi /etc/profile

export JAVA_HOME=/root/Java/JDK/jdk1.8.0_161

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH

export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin

export PATH=$PATH:${JAVA_PATH}

#souce /etc/profile使配置生效,这样JDK的环境便配置完成。可以通过Java -version查看是否配置成功。

接下来进去Tomcat的bin目录

#vi setclasspath.sh

export JAVA_HOME=/root/Java/JDK/jdk1.8.0_161

export JRE_HOME=/root/Java/JDK/jdk1.8.0_161/jre

保存之后启动Tomcat,./startup.sh

33e363e7ffb509102a8745f3d88ec32a.png

启动完成后便可以访问tomcat,浏览器输入http://+云服务器ip地址+:8080(默认是8080端口)

如果出现Tomcat界面,便表示tomcat启动成功。

e2af02592458c1445b1e28ddb525e411.png

如果访问不了的,首先查看云服务器的8080端口是否开放,在左侧选择 网络安全》安全组

点击配置规则

59c84700893d3d3ac28f1f073c6d20b0.png

自定义添加8080端口,这里具体操作就不讲了,很简单。

173e3bf336f6abbc892919683297d9c9.png

MySql

第一步:安装MySql

下载MySql安装包

可以选择

[root@localhost ~]#rpm -ivh http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm

或者

[root@localhost ~]# rpm -ivh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

安装MySql

[root@localhost ~]# yum install -y mysql-server

[root@localhost ~]# yum install mysql-community-server

安装成功的话会显示Complete

第二步:设置开机自启动服务

[root@localhost ~]# systemctl enable mysqld.service

检查是否设置开机自动:

[root@localhost ~]# systemctl list-unit-files | grep mysqld

d4ee212bb94d70c6940ba45ca0394594.png

第三步:登陆Mysql

查看初始化密码:

[root@localhost ~]# grep 'temporary password' /var/log/mysqld.log

8f81e097aa1b9c1d3d0c1d80fe8d088d.png

这一步要注意了,如果显示查找不到密码,原因是之前的Mysqsl卸载不干净或者安装出了问题,会导致登录失败,可以参考下面的博客进行卸载。

CentOS 7 卸载MySQL 5.7

[root@localhost ~]# mysql -u root -p

然后输入刚才查看的密码

第四步:修改Mysql登录密码

这里需要注意了,Mysql为了安全考虑,对密码的安全性有严格要求,输入不符合要求的密码会导致更改失败,这里我们需要修改策略:

设置密码的验证强度等级,设置 validate_password_policy 的全局参数为 LOW 即可,

输入设值语句 “ set global validate_password_policy=LOW; ” 进行设值

然后再进行密码修改:

mysql>SET PASSWORD = PASSWORD('*****');

出现Query OK,表示修改成功!

第五步:授权远程登录:

为了更好的管理Mysql数据库,可以授权开启远程登录

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '****' WITH GRANT OPTION;

这里的*****要换成你自己mysql数据库的密码

命令生效指令:

mysql>flush privileges;

这一步一定要做,不然无法成功! 这句表示从mysql数据库的grant表中重新加载权限数, 因为MySQL把权限都放在了cache中,所以在做完更改后需要重新加载。

设置这一步的原因是Mysql为了安全考虑,初始的时候并没有开启Root用户,这里的Root用户要和云服务器的root用户分开,当开启了Mysql的Root用户后,便可以提供远程访问权限,实现远程管理,这里我使用的软件是Navicat。

首先去阿里云开放3306端口:

173e3bf336f6abbc892919683297d9c9.png

然后打开Navicat新建连接:

a9c6a3a9549a575b6156d324f6e019b7.png

没问题的话应该就可以连接上了,有问题的看下前面的步骤哪一步漏了。

第六步:将本地数据库转移到云服务的数据库

转移之前首先要先设置好Mysql数据库的编码与本地的数据库一致,不然后面会出现一些问题,之前在这方面栽了很久,建议在一开始先设置好。

[root@localhost ~]# mysql -u root -p

mysql>show variables like 'char%';

ef0dfca6fa5816a05e8083d3e7597bf0.png

主要看character_set_server是不是utf-8,不是的话可能导入数据的时候可能会出现中文乱码的情况,

可以通过

mysql>set character_set_server=utf8;

进行修改,不过这种方法重启Mysql之后就会失效,建议使用一下方式修改:

[root@localhost ~]#vim /etc/mysql/mysql.conf.d/mysql.cnf

这里需要注意的是如果没有该文件的话尝试下面这个,我就是出现了这个问题,修改下面这个文件同样可以生效

[root@localhost ~]#vim /etc/my.cnf

在[mysqld]下面添加一行 character_set_server=utf8

ccd7dbbea7fe456e5b1a9352e14e3ba8.png

重启Mysql服务使配置生效:

[root@localhost ~]#service mysql restart

然后便可将本地数据库转移到云服务器的数据库:

先创建一个数据库用于存放表:create databases ****;

然后再Navicat软件选中本地数据库的表,右键导出向导,可以选择很多种格式,点击下一步,后面选择默认选项就ok,这里我已经导出过了,就不一一演示了。

ee4c169afd31e43a3c504e0cc7ce6d38.png

然后在云服务器的数据库选择导入向导:

b3787541f3ab487eb3595f849b36b060.png

选择刚才导出的文件,没问题的话数据库导入便处理完成。

总结

Tomcat,JDK,Mysql配置完成,部署配置云服务器基本完成,本次博客也是总结了其他很多优秀博主的博客,算是一次整合,也有自己的总结经验在里面,希望可以帮到大家。如果遇到问题的话可以在评论区留言讨论。

后面会更新如何将自己的项目打包部署到云服务器(IDEA软件为例),这里也会总结一下自己遇到的一些坑,下周末前会更新,我的博客有一些学习JavaWeb开发的笔记,目前更新了JavaWeb基础和MyBatis的学习笔记,后续会更新Spring全家桶的学习笔记,有兴趣的可以关注一下。

最后附上我一个正运行在云服务器的一个项目截图:

18633fa4d5cae353c0312f764bde574d.png

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐