目录
一 购买云服务器
首先购买阿里云服务器ECS,如果有学生认证,会有学生优惠价。操作系统我选择的是CentOs.
二 本地主机连接服务器
拥有云服务器之后,要远程操作服务器,就要先和远程服务器建立连接。可以用两种方法进行远程连接:一种是使用阿里云控制中心自带的管理终端进行远程连接,另一种是使用ssh协议。
1 使用管理终端连接
登录ECS控制台之后,在左侧导航栏选择“实例”,在右侧会展示实例列表,在操作一栏选择“远程连接”。
2 使用SSH工具连接
我使用的是FinalShell工具(SSH工具,服务器管理,远程桌面加速软件,支持Windows,macOS,Linux,版本)
三 搭建开发环境
1 软件包
把软件包上传到云服务器中。
JDK
我本地的项目用的是1.8版本,所以这里也下载这个版本。
Linux x64 RPM Package
MySQL
mysql57-community-release-el7-11.noarch.rpm
Tomcat 9
本地项目使用的是Tomcat 9。apache-tomcat-9.X.XX.tar.gz
2 安装配置
JDK
在云服务器输入命令rpm -ivh 文件名
如:rpm -ivh jdk-8u144-linux-x64.rpm
安装完成输入java -version,如果出现了版本信息,则说明安装成功。
MySQL
1 安装Mysql:yum install mysql-community-server
(安装过程可参考https://blog.csdn.net/hello_world_qwp/article/details/79544107)
2 初次登录数据库,修改密码时,遇到了一个问题,
密码策略问题异常信息:
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
解决方案可参考https://blog.csdn.net/hello_world_qwp/article/details/79551789
3 若要远程连接服务器中的数据库,可以在阿里云控制台的安全组开放3306端口,然后在服务器的数据库中配置一个新的user(用于本地项目连接服务器数据库)
mysql -u root -p密码
use mysql;
grant SELECT,UPDATE,INSERT,DELETE on . to ‘user1(登录名)’@’%’ identified by ‘密码’; //创建user1帐号并授权,同时设置密码
生效配置:flush privileges
测试配置生效否:mysql -u(你的账号,如我们刚刚设置的user1) -P3306 -h(你的实例的IP) –p(密码)
Tomcat 9
安装:tar -zxvf 文件名(apache-tomcat-9.0.36.tar.gz)
启动:在Tomcat文件下的bin目录下运行./startup.sh(停止则是./shutdown.sh)
在启动Tomcat时遇到两个问题:
(1)
touch: 无法创建"/usr/local/tomcat-9.0.2/apache-tomcat-9.0.2-src/logs/catalina.out": 没有那个文件或目录
/usr/local/tomcat-9.0.2/apache-tomcat-9.0.2-src/bin/catalina.sh:行464: /usr/local/tomcat-9.0.2/apache-tomcat-9.0.2-src/logs/catalina.out: 没有那个文件或目录
此时打开tomcat 的安装目录,ls 查看全部文件及文件夹,发现确实是没有logs目录。
自己创建该目录mkdir logs,再次启动已经没有这个报错了。
(2)
报错:bash: ./startup.sh: Permission denied
解决方案(参考https://blog.csdn.net/qq_38196334/article/details/89116201):
使用文件/目录权限设置命令chmod
[root@localhost bin]# ./startup.sh -bash: ./startup.sh: Permission denied [root@localhost bin]# [root@localhost bin]# chmod u+x *.sh [root@localhost bin]# ./startup.sh
在关闭Tomcat时遇到一个问题
报错:SEVERE: Could not contact [localhost:8005] (base port [8005] and offset [0]). Tomcat may not be …
解决方案(参考https://blog.csdn.net/qq_40369944/article/details/103452568):
使用命令查看进程端口
netstat -tunlp|grep 8005 netstat -tunlp|grep 8080
可以看到8080启动,8005没有启动。解决方式
修改${JAVA_HOME}/jre/lib/security/Java.securitysecurerandom.source=file:/dev/random 改为: securerandom.source=file:/dev/urandom
然后杀死8080的进程
kill -9 进程号
重启tomcat就可以访问了
四 在服务器部署自己的项目
1 在编辑器上打包自己项目的war包
我使用的是Eclipse,过程参考:https://www.jb51.net/article/142790.htm
(1)右键点击所需要打包的项目,点击如图所示 Maven clean,这里 Maven 会清除掉之前对这个项目所有的打包信息。
进行完 Maven clean 操作后,在eclipse的控制台会出现以下的信息。
(2)然后我们重新右键所需打包的项目,点击如图所示 Maven build
在弹出的界面中,进行如下图的操作。
“Goals”输入框中输入 -X package,同时勾选下方 Update Snapshots 和 Skip Tests 选项框。
出现以下结果则说明打包成功。
刷新我们的项目,我们能在项目的 target 目录下找到我们打包好的 war 包。
2 项目部署
上传到服务器的webapps的文件夹下面,Tomcat会自动解压,如果没有解压,有可能是Tomcat启动失败,这时输入jps,出现Bootstrap表示启动成功的,这时候等一等。如果没有出现,进入tomcat文件夹下的logs文件夹下,查看catalina.out文件,vim catalina.out
3 上传本地数据库
(1)将本地数据库打包成.sql文件
(2)将.sql文件上传到服务器
(3)进入.sql文件存放的文件夹,进入mysql模式
(4)创建数据库,如果已经存在就不用了,数据库的名字最好也项目在本地时使用的一样,即.sql文件的前缀
查看数据库:show databases;
创建数据库:CREATE DATABASE 数据库名;
(5)use 数据库名
(6)source .sql文件(如:source denny.sql)
(7)输入查询语句或者show tables查看表是否都创建成功
五 结束
尝试访问云服务器项目。