共计 4167 个字符,预计需要花费 11 分钟才能阅读完成。
很多人都想试试本人 建站 玩一玩 (比方博客、自建网盘、近程下载等),但家里宽带 没公网 IP,特意买台服务器又显得节约。那么有没老本小、可玩性高、又能长期稳固应用的计划呢?
其实,收费的内网穿透工具 (如网云穿) + 树莓派,即可利用家里宽带来搭建运行各种好玩的网站程序,跑一些自用网络服务再适宜不过了。树莓派价格便宜、功耗小、功能强大;而网云穿则能收费帮你实现内网穿透,让没有公网 IP 的树莓派也能在外网上间接拜访……
因为电信联通等大多数一般宽带都不提供公网 IP 地址,他人无奈通过互联网间接拜访到你家中内网的电脑、树莓派、NAS 或其余网络设备。因而想在家里或公司“低成本”建站,咱们须要借助「网云穿」这样的 收费内网穿透工具,来疾速地让内网设施能被外网公网拜访。
网云穿能够申请到收费的“内网穿透隧道”,通过它就能让所有人间接从外网拜访到你树莓派中建设的网站,也能实现近程 SSH 进行保护治理。这样,咱们只需一个树莓派 或一台闲置 PC 电脑 / NAS (教程可参考这里),就能领有一个齐全属于本人的“高性价比的网站服务器”了。
建站前筹备
树莓派 (Raspberry Pi) 是价格低廉的微型电脑,体积玲珑,领有不俗的性能,运行 Linux 零碎,资源丰盛且稳固,加上功耗极小,适宜长期运行,特地适宜用来做咱们的“建站服务器”。
以树莓派 4 的配置,跑几个博客、PHP 程序或动态网站相对是入不敷出的。毕竟腾讯云、阿里云那些便宜的 VPS 也就 1 核 1G,性能上并没强多少,但每年的价格并不算便宜。当然,如果你有闲置的 PC 或笔记本,装置个 Debian、CentOS、Ubuntu 等零碎也齐全能够。
而内网穿透工具的抉择,抉择「网云穿」,是因为速度比较稳定,既有收费的隧道能够零老本应用,也有付费计划适宜有肯定要求的高级用户;部署的办法也简略,是款不错的工具。再加上网云穿能够绑定域名,不须要备案,他人拜访时,和真正的云服务器根本没有区别。
树莓派内网穿透 + 建站教程:
树莓派官网的「Raspberry Pi OS」零碎是基于 Debian 批改而来的发行版,用法上和一台 Ubuntu、Debian 等 Linux 零碎的机器没有什么区别,大家可参考 Linux 就该这么学、鸟哥的 Linux 私房菜等教程进行学习。
网上的“树莓派建站教程”有很多,轻易一搜就能找到不少。不过,依据 WEB 程序的不同,所须要装置的组件也有区别 (比方有些是 PHP,有些 Python 或 Node.js 程序),大家要参考程序具体的部署阐明。这里次要介绍最常见的 LNMP 环境装置 (Linux + Nginx + MySQL + PHP) 作为建站示范,可运行最常见的 WordPress,并且还会具体介绍怎么进行“内网穿透”的设置步骤。
装置 NGINX 和 PHP 7.3:
咱们先通过 SSH 连贯到局域网的树莓派,而后上面咱们就开始以最罕用的「装置 Nginx + PHP」作为网站 WEB 服务器软件作为例子吧。
# 更新零碎软件包
sudo apt-get update
#装置 NGINX 和 PHP 7.3
sudo apt-get install nginx
sudo apt-get install php7.3-fpm php7.3-cli php7.3-curl php7.3-gd php7.3-cgi
#启动 NGINX 和 PHP 服务
sudo service nginx start
sudo service php7.3-fpm restart
如果装置胜利,在浏览器中通过 http:// 树莓派局域网 IP 即可拜访到 Nginx 的测试页面了,如下图。如显示失常,则示意 WEB 服务器曾经失常提供服务了。默认状况下,Nginx 的网站根目录位于 /var/www/html。
=
让 Nginx 反对运行 PHP
# 批改网站配置文件,老手可能须要学习一下 VIM 命令的应用办法
sudo vim /etc/nginx/sites-available/default
原来的配置文件内容:
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
替换为:
location / {index index.html index.htm index.php;}
location ~.php$ {
fastcgi_pass unix:/run/php/php7.3-fpm.sock;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
重启 NGINX 服务让 PHP 失效:
# 重启 NGINX 服务
sudo service nginx restart
装置 MYSQL (MariaDB) 数据库
MariaDB 是 MYSQL 被甲骨文收买后的开源复刻版,完全免费,且应用上基本一致,根本能够兼容全副的 MYSQL 程序。
# 装置软件包
sudo apt-get install mariadb-server-10.0
批改 MYSQL 数据库的明码:
# 执行 mysql 程序
mysql
程序输出上面的 mysql 命令来批改数据库 root 用户的明码:
use mysql;
update user set plugin='mysql_native_password' where user='root';
UPDATE user SET password=PASSWORD('你想要设定的明码') WHERE user='root';
flush privileges;
exit;
# 重启 MYSQL 服务
service mysql restart
至此,LNMP 环境 (Nginx + MariaDB + PHP) 曾经装置实现了!有了 LNMP 环境,你就能够上传比方 WordPress 或各种各样的 PHP 网站程序到树莓派中实现建站了。
配置树莓派的内网穿透教程
如果你已架设好了网站,那么接下来就是“配置内网穿透教程”让你的树莓派能被外网拜访。
1、支付收费的内网穿透隧道,并配置隧道
返回「网云穿官网」注册账号 → 支付收费隧道,而后跳转控制台点击隧道治理、配置隧道信息;穿透协定设置为 Http(s)。内网端口就是你装置的 nginx 的端口号,默认是 80,此端口号在配置文件上进行批改。
=
2、获取隧道的“令牌”
确定之后,控制台会生成一个「令牌」,相当于内网穿透时的通信明码,前面须要用到,你能够复制下来临时保留。
3、装置网云穿客户端
之前曾介绍过网云穿能够装置在 Windows、Linux、Mac 甚至是群晖 NAS 上,同样,在树莓派上也能间接装置。树莓派应用的是 ARM 架构处理器,所以下载 Linux ARM 版本即可。如果你用的是 PC 电脑,那么就该更换成对应架构的 x64 版客户端。
在树莓派上执行:
# 应用 wget 命令下载网云穿客户端
wget -O /home/pi/ http://xiaomy.net/download/linux/wyc_linux_arm
# 设置可执行权限
sudo chmod a+rwx /home/pi/wyc_linux_arm
# 启动网云穿客户端
# 其中 XXXX 是你方才获取到的“令牌”/home/pi/wyc_linux_arm -token XXXX
如果令牌没有错的话,网云穿客户端就会进行登录和连贯,胜利后输入以下的信息:
这时你就能获取到公网拜访的网址了,你在浏览器拜访这个网址,即可间接关上树莓派里的 Nginx 配置的默认网站。
4、树莓派设置网云穿客户端开机启动
如果你须要树莓派重启之后能再次主动启动“网云穿”的内网穿透性能,那么还得配置程序自启动。咱们首先向 rc.local 文件增加启动代码:
# 编辑 rc.local 文件
sudo vim /etc/rc.local
在 rc.local 文件中找到“exit 0”这一句,在它后面增加 以下的命令代码:
nohup /home/pi/wyc_linux_arm -token= 你的令牌 &
# 这一句必须在 exit 0 的后面,留神别漏掉“令牌”前面的空格和 & 符号
这样配置之后,每当在树莓派重启之后,你的内网穿透性能都会主动启动的。而且在树莓派上部署的网站都能被外网间接拜访失去了。
配置内网穿透,实现 SSH 近程连贯树莓派
除了网站能够拜访之外,如果日后你还须要在外网通过 SSH 来远程管理树莓派 (比方降级更新、安装程序、执行 Linux 命令、保护网站等等),那么还能够为 SSH 减少一个内网穿透隧道。
同样,还是先开明一个隧道,操作方法和之前一样,不过这次配置穿透协定要改成 tcp,内网端口为树莓派的 sshd 的端口,默认是 22,端口号可通过配置文件批改,保持一致就行。
确定之后,会生成如图的信息,记录下外网端口、域名和令牌:
如同之前一样,在树莓派上应用这句命令来启动网云穿客户端。应用刚刚记录的口令,这次会生成一个带有端口的外网地址。
/home/pi/wyc_linux_arm -token 你的 SSH 隧道令牌
从下面命令的输入信息能够看到网云穿客户端是否胜利连贯。没有问题的话,那么就批改 rc.local 文件,如下,就能实现开机启动两个隧道了。
# 启动多个网云穿客户端实例,一行一个令牌
# 网站穿透:nohup /home/pi/wyc_linux_arm -token= 你的网站隧道令牌 &
# ssh 穿透:nohup /home/pi/wyc_linux_arm -token= 你的 SSH 隧道令牌 &
# 留神必须在 exit 0 的后面
之后,在互联网的其余电脑上,应用 Putty 或任何终端利用,通过上面的命令即可连贯到你内网的树莓派了:
ssh -p 外网端口 pi@域名
这样,通过网云穿开明的两条隧道,既实现了外网拜访网站,也实现了树莓派的 SSH 远程管理。换而言之,当初你在任何中央上网,都能轻松间接拜访到家里的树莓派了。
总结:
无论你是打算轻易建个网站玩一玩,还是用于学习 Linux,或者是搭建真正有用的私人网络服务,借助树莓派 / 闲置电脑 + 网云穿内网穿透工具的收费隧道都能“低成本”实现!
利用内网穿透和家庭一般宽带搭建本人的服务器,可玩性和灵活性都极高,长期运行其实也很稳固,能解决很多场景的问题。至多建个 WordPress 博客或私人网盘对大多数人都是很有用的,感兴趣的同学无妨试试看。