从零开始建站——我的第一个网站

前言

在小时候就有想法,给未来女朋友写一个表白网站。偏偏是这么巧,大学录取的是计科专业,大一就想写个网站出来,奈何知识储备不够,终于在现在,大二的寒假,把这个想法实现了。谨以此文,纪念我第一个网站的建成,一个小时候梦想的成真。

我的开发环境

服务器端

  • 阿里云ECS服务器(Ubuntu18 64位)
  • 阿里云RDS数据库(MYSQL 8)
  • Tomcat 9
  • jdk 13

客户端

  • eclipse
  • Tomcat 9
  • jdk 13 (本地tomcat和jdk版本必须与云端相同,否则可能发生一系列问题)

我的开发过程

Build自己的web项目

主要就是web开发,在这一阶段的前期需要进行我们所说的需求分析,不一定要那么专业,但至少得清楚自己开发的大致方向——前后台怎么数据连接、前台页面怎样设计、后台需要哪些功能、数据库的结构等等,理清这些会方便我们项目的开发,也不容易出错。写程序千万不能死磕从零开始,我们得打好基础,可并不是意味着所有的一切都自己去做,我们心里要有一定的权衡。比如网上有很多的前后台模板,我们直接拿来用,按照自己的想法去修改就行了,不需要我们去从零开始敲代码。因为我是写来送给女朋友的,所以比较注重前台页面的设计,后台就实现了一些基本功能(用户管理之类的)。所以这个阶段主要工作我都花在了网页布局上,我把网页分为了9个部分,讲述我们从相遇到相识再到相爱的故事,在每个部分放置照片,然后照片链接到对应的故事,也有以动画的形式体现(比如那个前些年很火的表白树),花了一个星期,最后效果还不错吧。(编程其实也是非常具有创造性的一项活动,从这方面来讲,编程可以说是一项艺术,程序员都是艺术家 = ̄ω ̄=)

域名、云服务器的购买以及网站备案

因为是第一次尝试,想法很天真,以为申请了一个域名就能让别人通过域名访问到本地的web项目。先是在腾讯云上注册了一个域名(你问我为什么不是阿里云上申请的?当时我搜域名腾讯云排在最顶端),然后发现域名要备案才能使用,跟着它的提示步骤准备去备案,又发现备案得购买一个云服务器,在腾讯云上买服务器的时候好像我记得那个页面很卡,我很烦就直接退出打算过两天再说,后面搜云服务器的时候阿里云排在最顶端,所以也是选择了阿里云的服务器(反正两位都是马总)。服务器有很多选择,我因为只需够跑一个小项目,能让我学习学习就行了,所以选择的是基础型的,1核2G1M带宽40G系统盘,购买的时候有些东西好像不太好填,阿里云有向导,在官网搜就行了(买香港的服务器不需要网站备案,但是相应的网速会差些)。首次购买很便宜,89一年,系统选的是Ubuntu16的(后面安装网站运行环境的时候不顺利,就初始化换成18的了)。云服务器刚入手的时候感觉发现了一个新大陆,觉得很厉害的样子,后面发现也没啥厉害的,不过用来学习还是很不错的,反正搞不坏,你想干嘛就干嘛,崩了大不了重新换一个系统盘。阿里云有很多帮助文档,可以帮助新手很快上云。主要要做的就是设置安全组了,它负责规范访问服务器的ip和端口(有一个快速设置按键,新手点那个就行了)。接下来就是备案了,阿里云的文档很不错,不懂的就去找文档看,按着步骤做就行了。流程也很简单,首先用服务器公网将域名解析,然后填写个人信息还有网站信息,上传证件照片,就可以提交审核了,首先是阿里云初审,初审通过后就提交给管局审核,最后审核通过后会通过邮件下发你的ICP备案号,需要按要求放在网站首页底部显眼的位置,还需要链接到公安备案网。(在审核过程中记得保持手机通话哟,要不可能接不到声音甜美的客服小姐姐的电话~)。拿到ICP备案号算完成了备案的一大半吧,最后还需要到公安备案网站上提交网站审核,通过后会下发公安备案号(网站信息不要瞎填,有文档的,一定要看文档再填)。公安备案号和ICP备案号同样得放在网页底部,到这,网站备案就完成了。(过程简单但挺烦的,相信我)。

网站运行环境的搭建

这里我走了很多弯路,最开始尝试LAMP镜像自动部署,找了很多资料学习,最后还是没成功运行我的web项目,之后在B站找到了一个部署web项目到云服务器的视频,就开始步入正轨了。我们知道,我们的web项目可以导出成war包,然后放到tomcat的webapps目录下,再启动tomcat,就可以自动解压成项目文件夹,然后就可以在本地浏览器上访问了。所以同样的,在云端服务器上,我们也可以如此运行访问我们的项目,我们需要下载tomcat和jdk。通常是在本地找资源下载,然后用FTP上传工具传输到云服务器上,我用的是XFtp,同时还下载了一个XShell来远程连接云服务器。下载了tar.gz包后,就可以上传到Linux的目录下了,一般是放在/usr目录下,在/usr目录下mkdir两个文件夹,java 和 tomcat,用tar命令分别将jdk和tomcat解压到对应的目录,然后键入命令vi /etc/profile 配置jdk和tomcat的路径,和Windows下配置环境变量是一个意思。修改完之后不要忘了source /etc/profile 使修改立即生效(大致流程是这样,具体细节需要自行百度)。Tomcat和jdk有了之后,我们还需要有一个数据库,阿里云配套赠送了一个云MySQL数据库,我们要做的就是创建用户设置白名单,白名单的作用是规定哪些ip能够访问数据库,默认是127.0.0.1,表示禁止所有ip访问。我们需要将内网ip加入到白名单,然后就可以通过服务器访问数据库了,最好也申请一下外网地址,将自己本地ip加到白名单,方便之后测试数据库连接。JDBC连接的URL如果是本地去连接云数据库,就用外网地址,如果是部署到服务器,就用内网地址。

将项目部署到服务器

只需要将web项目导出war包上传到服务器的tomcat的webapps目录下就可以了,不过记住上传war包之前将tomcat关闭,再上传,然后再启动tomcat,这时候就会发现webapps目录下出现了自己的项目包,在浏览器输入公网ip/域名+8080(可以在server.xml文件中将端口改为80,就可以省略输入端口号)+项目名就可以访问自己的web资源了(如果你一次就成功了,那么恭喜你,反正我是在这里被折磨了一个星期)。

我遇到的问题

问题主要是在后期出现的,项目在本地运行很正常,也能够连接云端数据库,可是一放到云服务器上运行,就出现了一些问题。

  1. 奇怪的jar包
    从零开始建站——我的第一个网站_第1张图片
    从零开始建站——我的第一个网站_第2张图片
    问题描述: 项目部署到服务器后,访问报错。
    我的解决方案: 问题出在jstl包,将语句<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 注释掉就不报错了,可是在本地根本不报错,原因不明。
  2. 令人抓狂的404
    在这里插入图片描述
    问题描述: 登入操作时,访问servlet报错。
    我的解决方案: 当时服务器端用的是jdk8,后来换成jdk13就可以了,原因不明。

看似解决方案很简单,但是请相信我,逼疯一个程序员的永远是一个个的小bug,他们往往隐藏得很深,不容易被发现,而且就算最后解决了,你也很难说出问题所在。解决这两个问题,我用了整整5天!在解决这两个问题的过程中,还是很有收获的。我一遍又一遍地修改tomcat的配置文件,熟悉了tomcat的web.xml和server.xml的文件结构还有vim编辑器用的越来越得心应手(但是还是没感受到它被称为编辑器之神的魅力所在),学会了查看tomcat的日志文件,熟悉了Linux的命令以及云服务器和云数据库的各种操作。还有明白了一件事,永远不要太指望他人,尤其是老师,他们通常很忙,基本不会对你解决问题有太多的帮助,百度有些时候会让你失望,但是大多数情况下,它才是你最好的老师。

总结

  1. 购买域名和云服务器
  2. 域名解析、网站备案
  3. web项目开发
  4. 网站运行环境搭建
  5. 项目部署
  6. ……

成果展示

从零开始建站——我的第一个网站_第3张图片

你可能感兴趣的:(从零开始建站——我的第一个网站)