在web项目中,部署的web站点需要被外部访问,则需要一个媒介,通过把资源放在这个媒介中,再通过所暴露的端口指向这个站点,当外部访问这个媒介所对应的端口时,媒介指向站点,完成访问,像这种类似的媒介,常用的有tomcat容器、Apache等,这边使用Apache来建搭建。
Apache2 是一种流行的 Web 服务器应用程序,也就是通常所说的运行网站的服务器,目前apache在centos已经改名,叫httpd。
安装httpd,输入命令,出现y/N,输入y
yum install httpd
安装完成查看版本信息,出现以下版本信息表示安装成功
httpd -v
启动服务
service httpd start
打开浏览器输入http://192.168.XX.XX ,局域网访问,httpd默认是80端口,访问时候无需加端口
注意,如没有出现这个页面,可能是防火墙问题,输入以下命令可以关闭防火墙(centos8)
systemctl stop firewalld.service
由于该站点是在本地设备上,局域网之间可以访问,但是公网环境下无法访问,接下来将web站点发布到公网。
这里使用cpolar内网穿透来实现,创建http隧道,将内网80端口映射到公网上,无需公网IP,无需设置路由器,也无需购买云服务器。
cpolar官网:https://www.cpolar.com/
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
curl -sL https://git.io/cpolar | sudo bash
cpolar version
cpolar authtoken xxxxxxx
cpolar http 8080
按ctrl+c退出
sudo systemctl enable cpolar
sudo systemctl start cpolar
sudo systemctl status cpolar
cpolar http 80
如下图所示,有生成相应的公网地址,一个http协议,一个为https协议(免去配置ssl证书的繁琐步骤),将其复制下来
在浏览器输入上面暴露的http公网地址,实现在公网环境访问。出现这个界面表示站点暴露到公网成功。
由于以上命令暴露的公网地址在窗口关闭后隧道也将同步关闭无法访问,所以我们需要将参数保存到配置文件中。方便每次开机后,后台自启动运行隧道。
vi /usr/local/etc/cpolar/cpolar.yml
i
编辑,在文件中添加如下配置authtoken: xxxxxxxxxxxx #认证token
tunnels:
webstation:
proto: http
addr: "80"
region: cn_vip
参数介绍:
输入完成后按Esc键退出编辑,然后输入:wq
保存(如果您的项目部署在其他端口上,也可以指定其他端口)
cpolar start-all
由于使用免费cpolar所生成的公网地址为随机临时地址,24小时内会重复变化。我们可以为其配置固定的二级子域名。
注意,配置固定二级子域名需要将cpolar套餐升级至基础套餐或以上。
进入cpolar官网并登录进入后台界面,点击左侧的预留,找到保留二级子域名,我们来为本地web站点保留一个二级子域名:
二级子域名保留成功,将其复制下来
vi /usr/local/etc/cpolar/cpolar.yml
打开后按i
编辑
在webstation下添加一行:subdomain: ”myweb1”
编辑完成按Esc键退出编辑,然后输入:wq回车保存。然后执行启动所有隧道,出现地址后复制公网地址
cpolar start-all
在浏览器访问刚刚所配置成功的二级子域名,出现页面配置成功。
转载自cpolar极点云文章:Linux CentOS本地搭建web站点,并实现公网访问