背景说明:我们的项目有一个服务端的webService,跑在各自的电脑tomcat上,每次客户端申请服务时都要重新配置局域网IP(很烦)。所以,我们需要一个云服务器来跑我们的webService。
项目环境:java1.8,mysql5,tomcat8,git,【linux云服务器】
目的说明:将上述环境以及本地的项目全部搞到云服务器上,并成功发布运行
步骤:
1、购买云服务器
百度搜云服务器,第一个出现的就是阿里云,进入这个广告界面看到价格就知道买不起。
突然发现有个活动【开发者成长计划】-【学生专项】,竟然可以免费领取两个月的。
链接如下:/plan/grow-up?spm=5176.21103406.J_6174043250.2.ac90597c1yC5iM
想要领取这个服务器,需要学生认证,然后做一个虚拟实验和一套测试题,总之步骤挺多。
博主云服务器选择的是【ubuntu系统】镜像,有windows但作s不想用。
【攻略】:
虚拟实验一定要按步骤做,确保实验结果跟它的截图一样,尤其要是 ssh命令。测试题百度搜,只有一次机会但是基本都能搜到,看好时间。虚拟实验做完可能会卡住,多刷新几次实验界面和领取界面,我的就是突然就可以领取了。
2、远程连接云服务器
我用了两工具,一个是putty,一个是powerShell(win10自带)。powershell需要装ssh命令,找攻略去吧。
putty好处是可以设置定时向云服务器发送数据包(搜攻略),防止由于长时间(很短的时间)不访问连接断掉。
可以同时向你的云服务器发起多个连接,比如运行项目时:一个终端用于监听tomcat,一个用于操作其他。
由于选择的是linux系统,所以你需要会linux的基本操作。
3、安装java1.8、mysql5、tomcat8、git
这里我都是搜的攻略,除了tomcat8其他都是用的apt-get命令 (ubuntu)。tomcat8用的wget [url]
tomcat安装与配置:/EasonJim/p/7202844.html
【tomcat安装后遇到的问题】:运行了./startup.sh,貌似启动成功了,但是再次查看tomcat状态发现不行。才发现如下错误
解决方法:tomcat安装错了,找的url不是core版的包。去tomcat官网找core,复制url重新安装tomcat8
该攻略博客:/bingxuesiyang/article/details/88381323
Tomcat问题2:Tomcat运行成功后,在本机(win10)的浏览器上访问云服务器8.14.****:8080(公网IP),加载不出来tomcat界面
Telnet测试端口也不通
解决方法:8080端口不在阿里云服务器的安全组中,无法远程访问
(1)进入云服务器实例的管理界面,点击配置安全组规则
(2)手动添加8080端口,记得随便添加3306端口(后面有用)。
(3)可以考虑重启服务器(忘记要不要重启了),再次访问 公网IP:8080
【mysql遇到的问题】:mysql导入数据库文件(后有方法),这个过程很顺利。但是在项目部署完tomcat启动时报错
[MySQL Access denied for user ''root''@''localhost''],找了很多攻略知道是root账户的权限问题,但是一直无法解决。后来发现
mysql登录root账户时随便输入密码都能进,意识到安装时没有让创建root账户和设置密码这个步骤(ubuntu的问题)。
解决方法:/matrixchan/article/details/102478469
问题2:mysql在linux系统会区分数据库名和表名的大小写,windows系统中不区分大小写
解决方法:(ubuntu系统)进入/etc/mysql/mysql.conf.d,打开f文件,在【mysqld】下面增加一行:lower_case_table_names=1
链接:/advance_djj/article/details/62048706
问题3:想在本地的navicat上操作云服务器的mysql数据库
设置mysql的远程连接权限:/zhangkaiqiang/p/6646488.html
在阿里云服务器处,将3306端口 配置入安全组。
在Navicat新建如下连接,打码处为阿里云服务器的公网IP。如果连接不成功那就是权限的问题,可以在cmd用telnet测试3306端口。
4、将本地web项目部署到阿里云服务器的方法(参考)
使用git将本地仓库push到gitee的远程仓库,在云服务器上再用git clone下来。
步骤:
(1)将数据库生成sql文件 和 本地tomcat8-webapps中的本项目war包,拷贝到项目目录。
(2)使用git init初始化本地仓库,然后在gitee上创建一个空的仓库。
(3)将项目push到gitee远程仓库 (可以看git攻略,下面是简略代码)
#初始化git init;git add .;#添加远程仓库git remote add origin 远程仓库url;git commmit -m "初始化";git push origin master;
(4)在云服务器上,新建一个空的工作文件夹,然后执行git clone 远程仓库url
(5)在云服务器mysql中,新建同名数据库extrace,执行命令:use extrace; sourse **/**/extrace.sql(此处uri为sql文件的路径,即clone下来的项目目录)
(6)将clone下来的 war文件 拷贝[cp]到 tomcat8的webapps下
(7)重启tomcat8服务 service tomcat8 restart;