0、写在前面
感谢酷安社区里的 @handsomehacker @梦太晓 大佬的分享,本文很多部分都是参考自他们。
要想在随身WiFi部署个人博客,首先需要将你的随身WiFi刷成Debian系统,这个不是本文的重点,在此不再赘述,请确保你已经完成了Debian系统的安装。
演示地址(可能服务器到期就不穿透了,推荐edge打开):演示地址
本文主要分成以下两个部分:
0.1 Typecho博客的部署
0.2 基于frp的内网穿透
基于frp的内网穿透需要准备一台具有公网IP的服务器,如果没有只能完成本地博客的部署。
建议在开始前切换为超级用户,可使用如下命令:
su
根据提示输入密码即可。
1、Typecho博客的部署
本节摘自自 @梦太晓 的分享
酷安原文链接:
https://www.coolapk.com/feed/42368631?shareKey=NTM2MmFmODQzYjM2NjQ3OWY0OGY~&shareUid=4402655&shareFrom=com.coolapk.market_12.0.7
1.1 一键安装Typecho博客:
wget -O /root/install_typecho.sh https://www.coolapk.com/link?url=https%3A%2F%2Fimtx-bucket.oss-cn-shenzhen.aliyuncs.com%2Flinux%2Fsh%2Ftypecho%2Finstall_typecho.sh && chmod +x /root/install_typecho.sh && /root/install_typecho.sh
1.2 卸载命令
卸载命令,卸载并清除数据
#卸载Nginx
apt remove nginx
#卸载MySQL(MariaDB)
apt remove mariadb-server
#卸载PHP及所需扩展
apt remove php php-fpm php-mysqli php-mbstring
#清除自动安装的依赖
apt autoremove
#删除网页目录 rm -R /var/www/html
#重新加载系统服务
systemctl daemon-reload
#删除了某服务,要通知系统放弃不存在的服务
systemctl reset-failed
1.3 主题存放地址
/var/www/html/usr/themes/
2、基于frp的内网穿透
请再次确认你有一台具有公网IP的服务器,不然无法使用frp工具进行内网穿透,你可以使用其他如花生壳等工具的内网穿透方案。
本节参考自:https://blog.csdn.net/qq_36981760/article/details/115713179
2.1 frp下载地址
下载地址:https://github.com/fatedier/frp/releases
选择合适的版本进行下载即可:
分别在服务器和随身WiFi进行下载,可以使用如下命令分别下载(请确认是amd还是arm):
服务器:wget https://github.com/fatedier/frp/releases/download/v0.49.0/frp_0.49.0_linux_amd64.tar.gz
随身WiFi: wget https://github.com/fatedier/frp/releases/download/v0.49.0/frp_0.49.0_linux_arm64.tar.gz
2.2 frp软件的解压
分别进行解压,解压命令:
tar -zxvf 压缩包.tar.gz
解压后如下:
这里服务器端和客户端都放在了/usr/local/frp/目录下
2.3 frp添加权限
# 服务器端添加权限
cd /usr/local/frp
sudo chmod 777 frps
# 客户端添加权限
cd /usr/local/frp
sudo chmod 777 frps
2.4 服务器端frp配置文件及frp启动
服务器端:
# 打开服务器端配置文件
vim ./frps.ini
# 我的填写内容如下:
[common]
bind_port = 7000 # 服务端与客户端通信端口
dashboard_port = 7500 # 后台管理端口
dashboard_user = admin # 后台登录用户名
dashboard_pwd = admin
vhost_http_port = 7002 # http穿透端口
vhost_https_port = 7003 # https穿透端口
max_pool_count = 50
token = aaa123 # 身份验证令牌,frpc要与frps一致
tcp_mux = true
log_file = /usr/local/frp/frps.log # 日志相关
log_level = info
log_max_days = 3
authentication_timeout = 0 # 服务器与客户端时间相差15min会连接失败,0表示不验证
subdomain_host = xxx.xx.xxx.xx # 公网IP
privilege_mode = true
- 注意删掉配置文件中所有注释
- 服务器端开放对应端口
frp的启动:
# 前台启动
./frps -c ./frps.ini
# 后台启动
./frps -c ./frps.ini &
2.5 客户端frp配置文件及frp启动
客户端:
# 打开客户端配置文件
vim ./frpc.ini
# 我的填写内容如下:
[common]
server_addr = 10.10.xxx.xxx # 公网服务器ip
server_port = 7000 # 公网服务端通信端口
token = aaa123 # 令牌,与公网服务端保持一致
tcp_mux = true
log_file = /usr/local/frp/frpc.log # 日志相关
log_level = info
log_max_days = 3
authentication_timeout = 0 # 服务器与客户端时间相差15min会连接失败,0表示不验证
[ssh] # 添加ssh节点
type = tcp
local_ip = 192.168.xxx.xxx
local_port = 22
remote_port = 7001 # 指明由公网服务器的7001端口代理
[web01] # 添加web节点
type = http
local_ip = 192.168.xxx.xxx
local_port = 80 # 本地80端口可以通公网服务器7002端口访问
subdomain_host = xxx.xx.xxx.xx # 公网IP
- 注意删掉配置文件中所有注释
frp的启动:
# 前台启动
./frpc -c ./frpc.ini
# 后台启动
./frpc -c ./frpc.ini &
2.6 阶段小结
完成上述步骤之后即完成了基础的配置,可以通过访问:
# 公网IP:穿透的http端口
xxx.xx.xxx.xx:7002
来访问我们内网的个人博客
2.7 设置frp开机自启
服务器端:
# 需要先 cd 到 frp 解压目录.
# 复制文件
cp frps /usr/local/bin/frps
mkdir /etc/frp
cp frps.ini /etc/frp/frps.ini
# 编写 frp service 文件,以 ubuntu 为例
vim /usr/lib/systemd/system/frps.service # 有时候需要手动创建system文件夹
# frps.service内容如下
[Unit]
Description=frps
After=network.target
[Service]
TimeoutStartSec=30
ExecStart=/usr/local/bin/frps -c /etc/frp/frps.ini
ExecStop=/bin/kill $MAINPID
[Install]
WantedBy=multi-user.target
# 启动 frp 并设置开机启动
systemctl enable frps
systemctl start frps
systemctl status frps
# 部分服务器上,可能需要加 .service 后缀来操作,即:
systemctl enable frps.service
systemctl start frps.service
systemctl status frps.service
客户端:
# 需要先 cd frp 解压目录.
# 复制文件
cp frpc /usr/local/bin/frpc
mkdir /etc/frp
cp frpc.ini /etc/frp/frpc.ini
# 编写 frp service 文件,以 centos7 为例
vim /usr/lib/systemd/system/frpc.service # 有时候需要手动创建system文件夹
# frpc.service内容如下
[Unit]
Description=frpc
After=network.target
[Service]
TimeoutStartSec=30
ExecStart=/usr/local/bin/frpc -c /etc/frp/frpc.ini
ExecStop=/bin/kill $MAINPID
[Install]
WantedBy=multi-user.target
# 启动 frp 并设置开机启动
systemctl enable frpc
systemctl start frpc
systemctl status frpc
# 部分服务器上,可以需要加 .service 后缀来操作,即:
systemctl enable frpc.service
systemctl start frpc.service
systemctl status frpc.service
3、总结
至此完成了个人博客的部署以及内网穿透操作,因为写的仓促,难免存在错误,有问题及时交流。