毕设需要,第一次接触到云主机。由于有过linux下的开发经验,选择的云主机环境为ubuntu14.04。
云主机部署的过程主要分三步:
(1)本地开发,打包。
(2)配置云主机的开发环境。
(3)导入项目、数据库。
一、购买云主机
一般是选择腾讯或者阿里,两者之间的区别笔者没有去深究。因为腾讯有学生优惠,购买传送门:https://cloud.tencent.com/act/campus?utm_source=qcloud&utm_medium=head&utm_campaign=campus。根据自己需求选择云主机配置。如果你的程序是比较简单学习用途,建议选择1核2G,1M带宽50G存储的配置就够用了;如果是很有耗内存的计算或高并发的程序请慎重选择配置,配置太差可能会导致内存爆炸等问题。此处笔者选择的是1核2G内存1M带宽的10块钱套餐,系统选ubuntu14.04(64bit)。
购买完后收到邮件信息,里面会有个初始密码用来登录云主机系统的终端,此处建议购买完直接重置密码。然后配置安全组开放端口,如果不确定可以设置开放所有端口。
二、Ubuntu配置Java环境
点击登录输入之前的密码进入终端,接下去就是使用终端指令操作系统了。
(1)宝塔面板
宝塔面板可以用来可视化管理服务器。此处主要用到的是上传文件。
终端输入 wget -O install.sh http://download.bt.cn/install/install-ubuntu.sh && sudo bash install.sh可以为服务器安装宝塔面板服务(PS:使用宝塔需8888端口,之前已配置过),大概两分钟后会看到如下图的地址用户名密码,打开自己本机的浏览器使用上述地址和信息登录宝塔面板。
进来后记得修改宝塔面板的用户名和密码,方便下次登录。同时我们可以看到在面板设置上面有个叫文件的按钮,这就是后面用来上传或者删除的傻瓜式操作。(PS:如果是没有修改忘记了密码或者太多输入错误被限制了,请参考:https://blog.csdn.net/liu_yanzhao/article/details/72629261)
(2)安装JDK
JDK要先装!JDK要先装!JDK要先装!亲测过两次ubuntu下使用安装包方式安装JDK,不管怎么安装怎么配置环境变量都没能把Jetty跑起来,报错是找不到Java,也可能是我忽略了什么环节。可以参考:https://blog.csdn.net/pysena/article/details/72514776。这里的ubuntu系统没有预安装openJDK,所以直接上oracleJDK,强烈推荐大家使用源方式安装JDK,简单粗暴还不用配置环境变量,命令如下:
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
期间会让你同意条款啥的,根据提示按Y或选ok就行了。然后就是等他到百分百就ok了(PS:防火墙网速啥的可能会影响到下载,这个进度听天由命吧,它总会下完的...),执行一下
java -version
看到输出java版本号就表示JDK安装成功。
(3)安装mysql
mysql同样选择源方式安装,直接上命令:
sudo apt-get update
sudo apt-get install mysql-server
sudo mysql_secure_installation
安装过程中有个设置root密码的,请根据需求设置。完成后可以输入下面指令连接数据库测试:
mysql -uroot -p(设置的密码)
(4)安装Jetty
采用安装包方式,先去官网下载tgz安装包:传送门。
下载完成打开宝塔面板,找个目录上传安装包,此处用的是 /usr/local下新建的jetty 目录。安装包扔进去之后打开终端,进入相应的目录解压:
cd /usr/local/jetty
tar -zxvf jetty-distribution-9.4.10.v20180503.tar.gz
解压成功后进入Jetty解压目录下的start.ini文件修改配置:
cd jetty-distribution-9.4.10.v20180503
sudo vim start.ini
修改如下图中的host和port(ps:此处记得把前面的#去掉才能生效!!!),host为你的内网ip,port为项目使用的端口号。
修改完保存退出。这里先不急着启动Jetty。
(5)关闭防火墙
防火墙一定要关闭,否则外网无法访问本机服务!!在终端输入:
ufw disable
三、上传代码并导入数据库
代码在本地打包成war格式,利用宝塔面板上传到jetty安装目录下的webapps,(ps:比如我的目录是/usr/local/jetty/jetty-distribution-9.4.10.v20180503/webapps),此目录下在jetty启动时会自动解压。
导入数据库就不多说了,自己百度。
接下来就是进入jetty的bin目录并启动Jetty,终端输入:
cd /usr/local/jetty/jetty-distribution-9.4.10.v20180503/bin/
sudo ./jetty.sh start
如果在/tmp目录下看到一个 jetty-你的ip-文件名 这么一个文件夹,说明解压并启动成功。
接下去就可以开心的使用你的 公网ip+端口号+contentPath (ps:contentPath 默认为压缩包名称)访问项目了。
四、参考
本文主要参考:
(1)https://liuyanzhao.com/6878.html?from=singlemessage#sidr-main Java项目部署到云服务器最简单的方法;
(2)https://blog.csdn.net/pysena/article/details/72514776 ubuntu 安装jdk 的两种方式;
(3)https://www.linuxidc.com/Linux/2017-05/143864.htm Ubuntu 16.04 上安装 MySQL 5.7 教程;
(4)https://blog.csdn.net/ADVANCE_DJJ/article/details/62048706 Ubuntu中mysql设置表名不区分大小写;
(5)https://blog.csdn.net/cmh477660693/article/details/52759750 ubuntu关闭和开启防火墙;
(6)https://blog.csdn.net/liu_yanzhao/article/details/72629261 宝塔控制面板忘记密码怎么找回。