本文主要详细介绍如何将自己的java web项目发布到阿里云服务器上,同时数据库亦部署在服务器上,并最终可通过域名外网访问,以此建立心仪的“个人网站”。若认可本文质量,记得点赞收藏,白嫖党请绕道,谢谢。点赞+收藏!
简要说明一下,阿里云服务器就是远程的服务器,即远程的电脑系统,可以理解为你在阿里云平台上租赁了一台电脑,可供你远程操控。我们买服务器的目的是为了在该“电脑”上部署web项目,这样便可供他人外网访问,而非仅限于本地 的“localhost:端口”简式访问。
学生(或24岁以下)都可以以优惠的价格在阿里云上租赁服务器。地址:阿里云学生价购买服务器。当时我购买的系统是CentOS7.7,购买后可查看服务器具体的公网IP地址。
切记:购买服务器后,需要重置账号和密码,相当于你以后登录该“电脑”的账号和密码,即平时开机需要输入账号(默认root),开机密码,操作如下图。
简要说明一下,最终外网访问是通过域名(域名如www.baidu.com)访问的,而非IP地址,所以我们需要购买域名,并将服务器的公网IP地址解析到我们域名上。打开域名购买地址,输入你心意的域名,搜索购买即可。
购买域名后,除了香港地区,按照国家规定,都是必须去备案的(防止你建立非法网站),否则无法正常使用。可点击阿里云首页右上角“ICP备案”进行备案,我当时备案了10天左右。题外话,在备案的过程可通过服务器公网IP地址进行本地访问,除了暂时不能域名访问,服务器其他功能正常。备案成功的邮件通知如下图。
需要简单去了解下域名解析的规则,查看需填选项旁边的“?”即可。然后按照指引,将公网IP地址解析到域名去。
读者若想了解更为具体详细的购买配置过程,可移步至:如何购买阿里云服务器和域名,连接服务器,并解析备案域名。
Xshell是一种工具软件,我们连接阿里云服务器上的Linux系统时,就通过该软件连接,借此进行无界面操作远程的“电脑”。Xshell和Xftp的话,学生是可以免费下载使用,具体操作可百度,下载较为简单,本文不作赘述。下面演示如何通过公网IP连接已购买的远程“电脑”,即阿里云服务器。打开Xshell,左上角的“文件”→“新建”,打开后的配置界面按如图所示,按需填写实际的信息。点击“确定”后,输入上文步骤中服务器重置的账户(默认为root)和开机密码。
Xftp是一款工具软件,可在本地主机和远程服务器上进行文件的传输,使用较为简单,只是复制粘贴,这里不作详写。值得一提的是,只是作者在独立下载jdk并配置环境时,需要下载Xftp,若后期完全使用宝塔面板,可不用下载,更多的是扩展为什么要下载Xfpt。下面演示如何从Xshell中打开Xftp。
简要说明,宝塔是可以在阿里云服务器上帮助我们一键部署环境的软件,否则需要我们在原生态的linux远程系统上输入linux命令来部署所需的各类环境。安装宝塔面板很简单,只需要①.我们在阿里云的“安全”上开放相应的端口(操作简单,不会可百度“阿里云开放端口”,具体开放端口可打开下面”宝塔安装教程“链接),②.然后在Xshell面板上输入该命令即可。具体安装地址:宝塔安装教程。
Xshell上输入安装命令:
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
输入完安装命令后,进入安装页面,期间,可输入“y”进行下一步,安装成功时如上图所示(由于作者已经安装过,上述截图为转载),此时Xshell上会输出宝塔面板的访问地址和账号密码。注意,将该内容复制保存好,以后登录宝塔面板需要。访问提供的链接url即可,username就是宝塔页面登录账号,password就是宝塔登录密码。最新版本中,宝塔安装成功后分别会提供外部和内部链接访问,选择其一 url 即可。
打开在安装页面系统提供的宝塔面板链接,输入宝塔账户密码登录后,进行部署环境。作者当时的环境如下(LNMP),仅供参考。读者可根据自身项目环境需要,对专门的版本进行下载。读者可自行百度,为什么服务器上要安装LNMP环境。浅说的话,php和phpMyAdmin是为了管理mysql所需的环境。而mysql和Ngix的作用就不再作赘述了。
在上传项目到阿里云服务器之前,需将项目打包成war包(idea如何将web项目打包成war包),然后在本地主机上成功运行过后,再部署到服务器的tomcat的webapps目录下。
web项目运行的知识点概要:①.springboot项目,由于内嵌tomcat,只需打包成jar包,在安装了jdk的环境上,直接java -jar 命令执行;②.而ssm框架的项目或者一般的javaweb项目(作者的项目就是javaweb项目),需要安装tomcat和jdk环境,将项目打包成war包,放置安装tomcat目录的webapps目录下,然后执行在bin目录下”tomcat启动文件“,即startup.bat,最终在浏览器上输入”Ip地址:端口号“来运行。下面演示如何在本机上启动tomcat,并成功执行web项目,待执行成功后,就可以在阿里云服务器上进行同等的操作来部署你的项目。
顺便一提,这该项目源于B站狂神学java狂老师,学后端路线的不妨找他,他是一位宝藏up主,作者的启蒙老师,即使与他素未谋面,亦备受感激。下面为通过“localhost:8080/项目名”访问成功的图示。
上传项目前,先部署数据库。在登录宝塔面板后,左边导航栏“数据库”→面板里选择“添加数据库”,按如图配置,最后,将本地的数据库导出的sql文件导入到远程服务器上。再次强调,该自定义的用户和密码为最终项目中数据库配置文件db.properties里的username和password。届时,上传项目后(下文详述),需要修改项目中数据库配置文件db.properties里的username和password。即服务器上的项目需要匹配服务器上的数据库,不能再使用本地数据库上root用户的密码。
在宝塔面板中,设置”java项目一键部署“→”容器管理“→”安装tomcat9“.至此,安装好tomcat9,注意,宝塔面板默认安装tomcat9的时候会自动帮你安装并配置好jdk8。
接着,将项目上传到服务器的具体tomcat目录下。点击左边导航栏的“文件”,进入路径“/www/server/tomcat9/webapps”,然后在当前目录下建立新文件(文件名同项目名,作者的是smbms),左上角“上传”项目的war包,然后将上传好的war包解压在/smbms目录下,如下图,至此,项目上传成功。
此时,重点操作,在war包的解压路径下找到数据库配置文件,路径为“/www/server/tomcat9/webapps/smbms/WEB-INF/classes”,作者的是db.properties,双击进行编辑,修改username和password,即上文建立数据库时自定义的用户和密码。
回到“java项目一键部署”的“添加项目”中,点击后界面如下:“项目域名”填写你在阿里云上申请的域名;“项目路径"填写”/www/server/tomcat9/webapps/smbms",即项目war包解压后在tomcat目录下的具体路径;”项目端口“填写随意填写,只要未被占用即可,注意,记得在阿里云和宝塔上同时开放该自定义端口。
最后,仍需配置下“web项目日志”,将下图红框中appBase属性设置为空,name属性设置为你注册购买的域名,具体缘由,读者可自行查阅,这里不作赘述。
届时,”域名:端口号“即可成功访问。若想URL后缀不添加端口号,直接域名访问,需要在上上图的“web项目管理”中,点击”映射“,这样就可实现外网域名访问啦,大功告成,如下图所示。
更多的,作者只是将建个人网站的心路历程,分享于大家,初衷只是希望大家少走弯路。鉴于才疏学浅,拘束于篇幅有限,若存有语义不清,专业术语含糊等问题的话还请多多指教,再次感谢。