- 一、购买阿里云服务器
- 二、搭建项目部署环境
- 三、将项目部署到服务器上
- 四、数据库的部署
一、购买阿里云服务器
1、首先,我白嫖了两个月的阿里云服务器,完成学生认证,然后答几个题就能白得到两个月的服务器:点击我跳转到阿里云高校学生计划
2、当我们零元弄了两月的服务器后,进入阿里云控制台,点击实例,看一下公网ip这个地址就是我们的服务器公网地址。以后所有的项目都要基于这个地址部署。
3、然后修改一下这个实例的密码,下图那个框是点一下上图中“配置安全组规则”旁边三个竖着的点(下图被挡住了)。
4、账号都是root不能修改,修改的密码自己一定要记住了。
我们需要将一些端口在安全组里面开放,将项目部署到服务器必须要做这一步!在侧边栏里点击“安全组”=>"配置规则"就到下面页面的,下面是我部署项目需要开放的端口号,自己添加即可,如果没有这些端口,那么自己的项目就没法被访别人访问。
二、搭建项目部署环境
1、然后我们需要一个终端程序来部署服务器。我推荐用宝塔,宝塔面板是一个很方便上手的可视化的部署自己项目的工具。
2、进去之后,先读一下阿里云开端口的那个链接,然后下载宝塔面板的终端(客户端)程序。
3、下载到电脑上如图,主机地址就是上面服务器公网ip,密码就是你修改完了的密码。
4、连接之后,我们输入以下代码,就是搭配linux系统可视化面板。
【注意】这行代码仅仅适用于Centos,Centos就是买阿里云服务器自己选择的系统镜像。
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
5、等他下载完,出现以下代码,将url那行(http://…)复制到浏览器地址栏,回车
6、跳出来一个面板,把上面的账号密码都输入进去即可。
【注意】宝塔面报的端口号是8888我们一定要在服务器把这个端口打开,不然进不去宝塔面板。7、点击软件商店,将我下图红框内的软件下载到面板上。(这些很快的,一会就下好了,不是像windows系统似的一堆东西),然后顺手点一下右侧“设置”点击开启tomcat,mysql等等自己需要的。
8、点击文件看一下,基本我们下载的程序都在www/server目录下,像data就是我们远程mysql的数据库文件,我们部署的项目要访问的也应该是这个数据库文件。
三、将项目部署到服务器上
1、在文件里找到我们下载的tomcat,像我们本地的tomcat一样,项目都在webapps目录下
2、如下图,本地tomcat给我的web项目打了一个war文件夹,我们只需要将文件夹放到上面文件的webapps目录下即可,文件夹名就是我们的项目名,我这个项目就叫case。
3、除了在阿里云服务器中需要打开端口外,我们还需要在宝塔面板里放行的端口才能让别人访问。
3、这样一个项目算是部署好了,然后我们可以直接通过地址栏访问,别人也可以通过自己的网络访问,这就不是一个本地项目了。
前面的地址就是我们服务器公网地址,端口号8080是tomcat默认端口,case是我的项目名。
这时候,本地电脑不需要管任何事,即使电脑关了,自己的项目也能自动运行。
部署了服务器,搭建了项目环境,会发现自己的项目用到了数据库,远程的项目也没法连接本地数据库啊,这个怎么办?
四、数据库的部署
1、点击“数据库”=>“添加数据库” 像数据库名和用户名,基本它自动帮你设置成一致,不能设置为root,root是本地数据库,我们需要另外取名字。
【注意】在这里一定要将访问权限设置为所有人!!!我因为这里没弄成所有人,自己鼓捣半天没招到为啥连接不到数据库。
2、新建完成时候,还是要先在软件管理那里打开mysql服务,安全那里放行3306端口号。打开自己mysql可视化界面,新建一个连接,地址就是服务器地址,用户名密码是上面自己添加的数据库账号密码。
3、连接上之后可以看到就一个数据库,一般一个连接只能用一个数据库,要是还想在用一个数据库,我们需要再在面板里添加数据库,并连接。
4、可以看出来,只有数据库,没有表咋办?
有两种方法:
- 第一种:将原来我们本地数据库的表备份,然后通过自动生成的Sql,传到服务器的数据库里。
用记事本打开看到,创建表语句和添加数据的sql,直接复制粘贴到刚才连接到服务器的数据库,自己在连接服务器的数据库的mysql上创建一个表即可。 - 第二种方法:自己备份的表同步到面板上,“选择上传”=>“导入”
此外,我还遇到了一个问题,就是我用第二种方法导入数据库表的时候,导入进去了,但是,在mysql界面看不到这个表,而且项目竟然是可以运行,也能访问到数据库,但是,就是找不到数据库在哪。
出现这种问题原因:我们导入的表所在的数据库和你想将表导入的数据库不是同一个,它就会在服务器上自动创建一个数据库(可以看下图中表的sql语句,意思是如果不存在db4就创建一个db4数据库),假设你的表在db2,导入这个表后会自动执行里面的sql语句,然后项目访问的就是自动创建的db2内的表。
5、将数据导入到服务器如果我们发现还是不能访问,那一定是我们项目连接数据库的配置出了问题。下面的在线编辑,在“文件”-数据库配置文件-“编辑”。我们的服务器数据库是db4,但是本地测试的数据库是db2,所以我们需要重新设置数据库名和username,password都应该改成刚才添加到服务器的数据库。
至于localhost我们不用修改,服务器上的localhost就代表公网ip。
这样才算把项目完整的部署到服务器。