Caddy2+PHP7+Frp+syncthing+hugo搭建服务器(一)
前言
系统服务器是阿里云Ubuntu 16.04.7 LTS,本地是windows11,同时开启了wsl2,本地
mysql,redis,postgersql
都是安装在wsl下面
windows下面是可以通过localhost或127.0.0.1访问服务
开放端口是通用的3306,6379,5432标准端口
http标准端口是80,https端口443
本地和阿里云服务器软件都是caddy2.7
本地和阿里云同步软件都是 syncthing
本地是frp客户端,服务器是linux版frp服务端,主要是实现本地开发使用泛解析域名.
本地和服务端都使用php7.2版本,方便测试和正式服环境一致不出错.
建立博客使用hugo软件,linux不安装,只安装本地,直接生成html,用syncthing同步就行.
阿里云安装php,mysql,redis三个软件不做多续.
caddy使用
安装最新的,windows和linux命令一样
linux 使用 ./caddy run
caddy下载 https://github.com/caddyserver/caddy
caddy run 启动,可以用supervisor进程管理工具,能防止异常退出后自动重启
caddy start 后台,可以常驻后台
caddy stop 停止
caddy reload 重置,改变配置以后需要使用这个命令
caddy hash-password 密码
caddy list-modules 查看模块
xcaddy build --with github.com/caddy-dns/alidns #编译插件
windows系统在cmd下创建caddy服务,启动用net start caddy2,停止 net stop caddy2
set myPath=C:\app\caddy\
sc create caddy2 binPath= "%myPath%caddy.exe run --config %myPath%Caddyfile" start= auto
Caddyfile 配置文件,这是所有常见功能配置,一般情况下用不到全部
http://h5.api.shanliwawa.top {
root * C:/app/caddy/www/h5 #网站目录
file_server browse #启用文件列表 file_server #静态服务器 file_server /static/* #只显示某个目录
php_fastcgi 127.0.0.1:9009#php代理启动 php_fastcgi /blog/* 127.0.0.1:9009 #php代理
reverse_proxy 127.0.0.1:8885 #反向代理
encode gzip #启用压缩
tls logove@qq.com #自动https tls cert.pem key.pem 使用已有
basicauth * { #设置登陆账号和密码 ,caddy hash-password生成的密码才可以
admin $2a$14$fmGrN87xgxC3EalyYje2DeNxkzzFNUt2kj5bi3uxfCMRB2qntgIUS
}
log {
output file ./access.log #日志
}
errors { #设置404 500 错误
404 404.html
500 /var/www/html/500.html
}
}
https://www.yoby123.cn { #301转向
redir https://yoby123.cn{uri}
}
泛解析配置用于阿里云服务器端,这里的证书使用acme生成泛解析证书,caddy也能但是要安装插件版本,有些麻烦,所以使用标准版本无任何第三方插件.
这里8088端口是frp的http代理,https代理使用8089. 这是我自己的泛解析阿里云服务端
caddy服务端
*.api.shanliwawa.top {
tls api.cer api.key
reverse_proxy http://127.0.0.1:8088
}
本地使用配置一个域名,这是我本地支持的泛解析配置,注意使用http开头,访问时候会自动转https,frp那边配置也是
caddy本地客户端
第二个是本地不使用反向代理配置,也能是https,如果http配置就是去掉s也是可以的,端口也可以换
http://home.api.shanliwawa.top {
root * C:/app/caddy/www/home
php_fastcgi 127.0.0.1:9009
file_server browse
encode gzip
}
https://127.0.0.1 https://localhost {
root * C:/app/caddy/www/h5
php_fastcgi 127.0.0.1:9000
file_server browse
}
https://127.0.0.1:9003 {
root * C:/app/caddy/www/h5
php_fastcgi 127.0.0.1:9000
file_server browse
}
本地frp客户端配置,不要配置https
frp本地客户端
[common]
server_addr = 阿里云IP自己填写
server_port =4433 阿里云端口和服务端一样
log_level = info
admin_addr = 127.0.0.1
admin_port = 7400
admin_user = 111 本地账户
admin_pwd = 111 本地密码
login_fail_exit = false
tcp_mux = true
[web1]
type = http
local_ip = 127.0.0.1
local_port = 80
subdomain = home
frp服务端配置
[common]
bind_port = 4433
vhost_http_port = 8088
vhost_https_port = 8089
subdomain_host =api.shanliwawa.top
#面板配置账号密码这是服务端的
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = admin
- 原文作者:Yoby
- 原文链接:/2023/07/08/20230707-1.html
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),关于内容请通过关于我方式联系作者!