配置web服务器环境

暂且略过

测试环境是否可用

本机访问:

1
2
$ curl localhost:2333
$ cur 127.0.0.1:2333

以上两种均能访问

外网访问:

1
$ curl 124.16.137.61:2333

却不能访问

此处的124.16.137.61是服务器的外网IP,可以使用curl members.3322.org/dyndns/getip来获取主机外网IP

关于开放主机访问端口

有两种情况:

  1. 主机上网没有用路由器分配IP,而是运营商单独分配一个IP,那可以直接用主机的外网IP让外网的人来访问你的网站,假设使用2333端口,所以外网的访问形式就为:XX.XX.XX.XX:2333
  2. 主机通过路由器获取IP,一个路由器带了多个主机,比如家里有一个路由器,三台笔记本电脑都通过这台路由器来上网。那此时需要去路由管理页面去设置一下端口映射,当别人访问IP地址时,映射到目的主机。

第二种情况涉及到路由的NAT(Network Address Translation, 网络地址转换),ISP给路由器分配了一个公网IP,但是多个主机在通过路由器上网,那么谁来用这个IP呢?我们可以这么理解:路由器给这些主机分配了内网地址,这些内网地址是不同的,能把这些主机区分出来,同一个内网里的主机之间也可以互相区分对方。但是一旦其中某些主机的服务希望被外面的网络访问(而不是被内网的主机访问),那么它就需要有一个能区分这个服务的机制,这就是NAT。

假设一个主机的内网IP为192.168.0.100,tomcat的http访问端口号设置为2333,那么组合起来就是192.168.0.100:2333,看上去好像就可以访问了。但是,这个192.168.0.100其实是内网IP地址,2333是内部端口,外面的主机和路由器根本无法知道192.168.0.100是哪里的机器。所以必须把这个192.168.0.100转换成公网IP(就是ISP分配给路由器的IP),比如124.14.137.61,同时设定一个公网IP端口,比如2222。这样192.168.0.100:2333就与124.14.137.61:2222对应上了,那么当公网访问124.14.137.61:2222时,路由器就将这个访问请求转发到192.168.0.100:2333,从而完成访问。

如何开放主机端口

情况1:
iptables管理端口
(Linux下)修改/etc/sysconfig/iptable
如果没有这个路径,那么执行一下:

就会有了。

情况2:
https://jingyan.baidu.com/article/d71306352e455a13fcf4755d.html