玩转树莓派(四)子域名访问树莓派上的web服务

1 准备工作

  1. 一个树莓派(在家中通过路由器上网)

  2. 一台具有公网ip的云主机(这里选用阿里云主机)

  3. 一个域名,解析到云主机的ip(这里选用在阿里云注册的域名 www.tangke8.com )

2 修改hosts文件

阿里云主机上:

cloud@aliyun:~$ sudo vim /etc/hosts

增加如下内容(你想用的子域名)

127.0.0.1       tangke8.com
127.0.0.1       www.tangke8.com
127.0.0.1       frp.tangke8.com
127.0.0.1       pi.tangke8.com

3 增加DNS解析

https://swas.console.aliyun.com/

在阿里云控制台上增加对子域名的解析(都解析到同一个ip上)

4 树莓派添加虚拟主机

更改树莓派仪表盘的根目录

cloud@server:~ $ sudo mkdir -p /var/www/pi/
cloud@server:~ $ sudo mv /var/www/html/pi-dashboard/ /var/www/pi/html
cloud@server:~ $ cd /etc/nginx/sites-available/
cloud@server:/etc/nginx/sites-available $ sudo vim pi

配置虚拟主机的监听端口、根目录等

server {
	listen 55103;
	root /var/www/pi/html;
	index index.html index.htm index.nginx-debian.html index.php;

	server_name pi.tangke8.com;
	
	location / {
	index  index.html index.htm index.php default.html default.htm default.php;
	}	
 
	location ~\.php$ {
	fastcgi_pass unix:/run/php/php8.0-fpm.sock;
	fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
	include fastcgi_params;
	}
}

建立软连接

cloud@server:/etc/nginx/sites-available $ cd /etc/nginx/sites-enabled
cloud@server:/etc/nginx/sites-enabled $ sudo ln -s /etc/nginx/sites-available/pi pi
cloud@server:/etc/nginx/sites-enabled $ sudo service nginx restart

5 使用frp将树莓派的80端口映射到公网ip的80端口

关闭阿里云的80端口的服务(如Nginx)

cloud@aliyun:~$ sudo service nginx stop

5.1 配置frp

阿里云frps.ini

[common]
bind_port = 55100
dashboard_port = 55104
dashboard_user = admin
dashboard_pwd = passwd
vhost_http_port = 80

树莓派frpc.ini

[common]
server_addr = ${阿里云ip}
server_port = 55100
admin_addr = 127.0.0.1
admin_port = 55101
admin_user = admin
admin_pwd = passwd

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 55102

[web]
type = http
local_ip = 127.0.0.1
local_port = 80
custom_domains = tangke8.com

[web-www]
type = http
local_ip = 127.0.0.1
local_port = 80
custom_domains = www.tangke8.com

[web-pi]
type = http
local_ip = 127.0.0.1
local_port = 55103
custom_domains = pi.tangke8.com

[web-frp]
type = http
local_ip = ${阿里云ip}
local_port = 55104
custom_domains = frp.tangke8.com

5.2 重启frp

阿里云:

cloud@aliyun:~ $ sudo nohup /opt/module/frp/frps -c /opt/module/frp/frps.ini >> /opt/module/frp/frps.log 2>&1 &

树莓派:

cloud@server:~ $ sudo nohup /opt/module/frp/frpc -c /opt/module/frp/frpc.ini >> /opt/module/frp/frpc.log 2>&1 &

6 访问

通过 http://www.tangke8.com 访问树莓派的80端口提供的web服务

通过 http://frp.tangke8.com 访问frp的仪表盘

通过 http://pi.tangke8.com 访问树莓派的仪表盘

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页