Web项目部署阿里云服务器全过程——详细篇

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

购买与连接云服务器

部署云服务器,首先需要的便是购买云服务器,这里我选择的是阿里云服务器,注册实名认证这里就不详细说明了,我购买的是云服务器ECS,可以选择大学生优惠,一个月9.5元,算是很实惠的。
在这里插入图片描述
我选择的操作系统是Linux版的 centos_7_03_64,后续还可以自己去购买一个域名。
购买完之后可以点击图里的更多进行重置密码,我这里已经重置过了,就不给大家演示了。
在这里插入图片描述
接下来就是管理云服务器,我电脑是Windows系统,选择的是XShell和Xftp,官方网址我放到下方了,
官方网址:https://www.netsarang.com/zh/all-downloads/
参加公测版就可以免费使用,推荐选择学校的企业邮箱注册,首次下载也可以免费试用30天。
在这里插入图片描述
下载完打开软件新建会话,填写ip地址就可以连接到云服务器
在这里插入图片描述

部署云服务器

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

Tomcat

首先去apach官网下载Tomcat,网址我放到了下方
http://tomcat.apache.org/download-80.cgi,注意下载的版本和后缀,Linux选择tar.gz

在这里插入图片描述
下载完之后使用Xftp上传到云服务器,然后进行解压:
在这里插入图片描述
等待解压完成后,进行Tomcat环境的配置,这里我们需安装JDK。

JDK

还是跟Tomcat一样,先去官网下载安装包。
https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html,注意看清操作系统。
在这里插入图片描述
下载完之后,进行解压
在这里插入图片描述
解压完之后就可以配置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

在这里插入图片描述
启动完成后便可以访问tomcat,浏览器输入http://+云服务器ip地址+:8080(默认是8080端口)
如果出现Tomcat界面,便表示tomcat启动成功。
在这里插入图片描述

如果访问不了的,首先查看云服务器的8080端口是否开放,在左侧选择 网络安全》安全组
点击配置规则
在这里插入图片描述
自定义添加8080端口,这里具体操作就不讲了,很简单。
在这里插入图片描述

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

在这里插入图片描述

第三步:登陆Mysql

查看初始化密码:

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

在这里插入图片描述
这一步要注意了,如果显示查找不到密码,原因是之前的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端口:
在这里插入图片描述
然后打开Navicat新建连接:
在这里插入图片描述
没问题的话应该就可以连接上了,有问题的看下前面的步骤哪一步漏了。

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

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

[root@localhost ~]# mysql -u root -p
mysql>show variables like 'char%';

在这里插入图片描述
主要看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
在这里插入图片描述
重启Mysql服务使配置生效:
[root@localhost ~]#service mysql restart

然后便可将本地数据库转移到云服务器的数据库:
先创建一个数据库用于存放表:create databases ****;

然后再Navicat软件选中本地数据库的表,右键导出向导,可以选择很多种格式,点击下一步,后面选择默认选项就ok,这里我已经导出过了,就不一一演示了。
在这里插入图片描述
然后在云服务器的数据库选择导入向导:
在这里插入图片描述
选择刚才导出的文件,没问题的话数据库导入便处理完成。

总结

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

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

最后附上我一个正运行在云服务器的一个项目截图:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/MACRosshaha/article/details/106699249