话说
各位小伙伴,周五啦!
背景:想不想拥有一个属于自己的网站?作为自己生平的记录?亦或者记录点滴?类似博客、门户、泛娱乐之类的东东?从后端到前端都是自己的心血?
项目是后面的事,先把流程跑通,至少有个Ip==》域名,外网可以访问吧?
目标:购买云服务器==》安装Tomcat、JDK ==>打通Ip访问环节(配置安全组,添加安全组规则)==》打通域名环节(购买域名、域名过户、实名认证、网站备案==》访问域名==》搞定!
难度系数:★★☆☆☆
建议用时:2
目录
1、购买云服务器
2、安装tomcat jdk
3、打通Ip访问
4、打通域名
5、访问域名
6、总结
参考文档
1、https://help.aliyun.com/knowledge_detail/36380.html
2、帮助文档是极好的
https://help.aliyun.com/document_detail/25425.html?spm=a2c4g.11186623.6.598.bisYTB
1、购买云服务器
准备好支付宝即可,用支付宝登录。
https://www.aliyun.com/?utm_medium=text&utm_source=bdbrand&utm_campaign=bdbrand&utm_content=se_32492
这里为了快捷记录,就不在截太多图了,比较费时。首页右上角有控制台==》左侧云服务器ECS==>实例 ==》选择地区购买就行
2、安装tomcat jdk
这里会清晰写明公网Ip、私有Ip。打开终端命令,默认用户名:root,密码默认多少忘记了,反正登录后让你设置初始密码。
详细请参考官方帮助手册,很详细的,笔者重点梳理思路,细节就不啰嗦了。
在/opt/下: mkdir software modules
software里面存放解压后的包 modules存放.tar.gz包。
Apache官网下载Tomcat 9.0 ;Java 官网下载jkd 10 ==》解压==》配置JDK
登录后是这个样子
dzjdeMacBook-Air:backend dzj$ ssh root@****
root@'s password:
Last login: Thu May 31 20:41:10 2018 from 116.228.0.74
Welcome to Alibaba Cloud Elastic Compute Service !
[root@izuf6i3jkmikgmou78pwvfz ~]
77 #JAVA_HOME
78 JAVA_HOME=/opt/software/jdk-10.0.1
79 PATH=$PATH:$JAVA_HOME/bin
查看猫状态并启动
首先Ping 一下实例公网Ip,如果能够ping通,OK,继续==》查看猫状态、开启猫、关闭猫、访问页面,核心命令如下:
netstat -ntlp 查看端口状态
netstat -ano | grep "8080" 按照端口号具体查看状态
cd /opt/software/tomcat-9.0/bin 进入目录
./startup.sh 启动猫
./shutdown.sh关闭猫
详细过程如下:
#查看端口开启状态
[root@izuf6i3jkmikgmou78pwvfz bin]# netstat -ntlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 962/sshd
#开启猫
[root@izuf6i3jkmikgmou78pwvfz bin]# ./startup.sh
Using CATALINA_BASE: /opt/software/tomcat-9.0
Using CATALINA_HOME: /opt/software/tomcat-9.0
Using CATALINA_TMPDIR: /opt/software/tomcat-9.0/temp
Using JRE_HOME: /opt/software/jdk-10.0.1
Using CLASSPATH: /opt/software/tomcat-9.0/bin/bootstrap.jar:/opt/software/tomcat-9.0/bin/tomcat-juli.jar
Tomcat started.
#关闭猫
[root@izuf6i3jkmikgmou78pwvfz bin]# bash shutdown.sh
Using CATALINA_BASE: /opt/software/tomcat-9.0
Using CATALINA_HOME: /opt/software/tomcat-9.0
Using CATALINA_TMPDIR: /opt/software/tomcat-9.0/temp
Using JRE_HOME: /opt/software/jdk-10.0.1
Using CLASSPATH: /opt/software/tomcat-9.0/bin/bootstrap.jar:/opt/software/tomcat-9.0/bin/tomcat-juli.jar
NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
#根据给定端口查找服务是否启动,而不是netstat -ntlp 这样笼统的查看
[root@izuf6i3jkmikgmou78pwvfz bin]# netstat -ano | grep "80"
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN off (0.00/0/0)
tcp 0 0 127.0.0.1:8005 0.0.0.0:* LISTEN off (0.00/0/0)
tcp 0 0 0.0.0.0:8009 0.0.0.0:* LISTEN off (0.00/0/0)
tcp 0 0 172.19.2.108:44430 140.205.140.205:80 ESTABLISHED off (0.00/0/0)
unix 2 [ ] DGRAM 11809
[root@izuf6i3jkmikgmou78pwvfz bin]#
开启后,页面就可以按照IP访问了。
如果一切这么顺利就太好了。
3、打通Ip访问
But ,页面出现不了的,还需要配置安全组==》增加安全组规则;配置之后就可以访问页面,Why?I dont’t know ,我只care是否能够访问。你就按照我的配置,就可以啦。
可以先看一下防火墙状态,这个是基本知识。
[root@izuf6i3jkmikgmou78pwvfz bin]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)
5月 31 16:18:24 izuf6i3jkmikgmou78pwvfz systemd[1]: Starting firewalld - dynamic firewall daemon...
5月 31 16:18:25 izuf6i3jkmikgmou78pwvfz systemd[1]: Started firewalld - dynamic firewall daemon.
5月 31 16:18:26 izuf6i3jkmikgmou78pwvfz firewalld[25327]: WARNING: ICMP type 'beyond-scope' is not supported by the kernel for ipv6.
5月 31 16:18:26 izuf6i3jkmikgmou78pwvfz firewalld[25327]: WARNING: beyond-scope: INVALID_ICMPTYPE: No supported ICMP type., ignoring for run-time.
5月 31 16:18:26 izuf6i3jkmikgmou78pwvfz firewalld[25327]: WARNING: ICMP type 'failed-policy' is not supported by the kernel for ipv6.
5月 31 16:18:26 izuf6i3jkmikgmou78pwvfz firewalld[25327]: WARNING: failed-policy: INVALID_ICMPTYPE: No supported ICMP type., ignoring for run-time.
5月 31 16:18:26 izuf6i3jkmikgmou78pwvfz firewalld[25327]: WARNING: ICMP type 'reject-route' is not supported by the kernel for ipv6.
5月 31 16:18:26 izuf6i3jkmikgmou78pwvfz firewalld[25327]: WARNING: reject-route: INVALID_ICMPTYPE: No supported ICMP type., ignoring for run-time.
5月 31 16:19:35 izuf6i3jkmikgmou78pwvfz systemd[1]: Stopping firewalld - dynamic firewall daemon...
5月 31 16:19:35 izuf6i3jkmikgmou78pwvfz systemd[1]: Stopped firewalld - dynamic firewall daemon.
[root@izuf6i3jkmikgmou78pwvfz bin]#
关闭和开启命令
systemctl start firewalld 或者systemctl start firewalld.service
systemctl stop firewalld 或者 systemctl stop firewalld.service
以上只是查看而已,重点是设置安全组。
到这里就可访问了。
当然,有点基本Web知识,你还需要做点准备工作:
1)在tomcat的webapps下存放你的项目war包。
这里为了测试,仅仅新建了个目录,然后写了一个Hello Word的index.html。访问的时候:IP:8080/myWeb/index.html即可。
2)如果为了简化端口,不用输入端口,就在tomcat的conf下的server.xml中修改端口8080为80即可。服务器端口如果修改为80,这样就和http端口一致,就不用再写端口号了。
3)如果网页有中文,还需要处理中文乱码问题。
我们页面当然会有中文,那么中文乱码,可能是服务器端的,也可能是页面的,两边都处理下:
tomcat ==>config/server.xml 中修改:在修改端口号位置增加URIEncoding="UTF-8"/
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"/>
页面如果是用开发工具开发的jsp页面,记得修改ISO8859-1,如果是自己写得页面,记得增加在<head>增加:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
4、打通域名
既然想打通Ip和域名,首先得有域名。
个人方法:购买域名 ==》控制台==》域名和网络==》购买一个即可。
购买后域名,就跟二手车一样,别人已经实名购买,所以需要过户。
过户操作就不赘述了。==》实名认证==》网站备案。你的网站自然需要交给警察叔叔监管,所以备案是必须的。需要提醒的是:请准备好:身份证正反面、居住地居住证、打印机、签字笔
搞定后,域名就可以访问了。在备案过程中,页面是这样的:
警察叔叔权限还是蛮大的……
2018/06/24 17:55 补充:
备案过程还是蛮麻烦的:
通过后结果是这样的:
过程也很简单,按照操作一步一步去做就可以了,大体流程是这样的:
https://help.aliyun.com/knowledge_detail/36907.html?spm=a2c4g.11174283.6.539.7s9PYA
1)备案初审
填写备案表格,拍照上传即可。阿里电话询问。(阿里服务蛮好,高效!)
网站名要规范;在哪里备案很重要!如果在异地,需要居住证,没有就用生源地备案即可;
2)拍照及邮寄资料
按照阿里提供幕布拍照(免费邮寄);并填写之前的那个备案表格,一式三份全部邮寄过去;
3)等待管局审核
基本信息要了如指掌,手机号要正确。个人感谢管局通过。
4)通过!
5)把域名和ECS服务器打通。
搞定!
5、访问域名
装逼时刻到了!把你的域名发布出去吧?增加人气,增加访问量,发动七大姑八大姨吧。
6、总结
1)如果你想做什么,OK,记住这件事,时机成熟,就顺手就做了;不要淡忘;
2)如果你做点专业的事,请看专业的帮助文档,最好通篇看一下,增长见识;但是又不能通篇看,根据需求去看,或者回头看是最好的;文档往往过于全,会影响解决问题进度;但是又正因为全,所以又能补充知识;
3)头一回接触的感觉很难忘;
4)今天是周五。
当然,还需要打通数据库,只是后话,后面写项目,必然会打通数据库的,到时候就直接发布,哈哈,爽歪歪!
备注: 2018/06/24 17:55 补充打通最后一公里!
再会!