ego008
ego008
5251 9 0

youBBS生产环境部署

前面已经介绍了youBBS 独立部署的方法,这次简单说一下与其它网站/服务共存的部署方法。

goyouBBS 进程独立,可用supervisor 管理进程、手动启动、开机自启,推荐使用supervisor。

下面是使用supervisor 管理进程的配置示例:

[program:youbbs]
command = /srv/www/youbbs/goyoubbs -config=/srv/www/youbbs/config/config.yaml
process_name = youbbs
stopwaitsecs = 10
directory = /srv/www/youbbs
redirect_stderr=true
autostart=true
autorestart=true
stdout_logfile=/srv/logs/youbbs_out.log
stderr_logfile=/srv/logs/youbbs_err.log

前端推荐顺序是 Nginx、Caddy、Apache、SSLDocker。

nginx 配置示例:

server {
listen       80;
server_name  yourdomain.com;

charset utf-8;

access_log /logs/youbbs/access.log;
error_log /logs/youbbs/error.log;

client_max_body_size 100M;
client_body_buffer_size 100M;

location / {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8082;
}

# redirect server error pages to the static page /50x.html
#
error_page   500 502 503 504  /50x.html;
location = /50x.html {
root   html;
}

}

Caddy 配置示例:

yourdomain.com {
proxy  / 127.0.0.1:8082
gzip
}

Apache 配置示例:

<VirtualHost *:80>
ServerAlias yourdomain.com
ProxyPass / http://127.0.0.1:8082/
ProxyPassReverse / http://127.0.0.1:8082/
</VirtualHost>

SSLDocker 配置示例:

{
"GzipOn": true,
"Http2https": true,
"MaxHeader": 100,
"Certs": "certs",
"ProxyItems": [
{"Host": "yourdomain.com", "Target": "http://127.0.0.1:8082"}
]
}

成熟、稳定选nginx;
方便轻量用Caddy 或 SSLDocker,这两者都是自动支持HTTPS,前者功能多,后者更轻量,只专注于反向代理和管理HTTPS;
Apache 不推荐。

相关网址:

0

See Also

Nearby


Discussion (9)

root
root 2017-12-08 09:51

我是直接把静态文件交给nginx处理。。。你说的神器是caddy吧。。这好早就听人家说过。。。据说caddy比nginx还要快。。。哈哈。不过还是觉得nginx应该比较成熟的产品

0
root
root 2017-12-08 09:54

supervisor 还能自动重启进程吗? @ego008

0
ego008
ego008 2017-12-08 11:04

@root Caddy和 SSLDocker,估计后者功能是前者的四分之一,但这1/4的功能正是我想要的,在一个128M的小VPS 上挂多个小主题网站很合适,省得重复在nginx 上配置HTTPS麻烦。

stopwaitsecs=10      ; 最长结束等待时间,否则使用 SIGKILL (default 10)配合youbbs 的优雅重启
autostart = true     ; 在 supervisord 启动的时候也自动启动
startsecs = 5        ; 启动 5 秒后没有异常退出,就当作已经正常启动了
autorestart = true   ; 程序异常退出后自动重启
startretries = 3     ; 启动失败自动重试次数,默认是 3
0
root
root 2017-12-08 12:06

nice

0
root
root 2017-12-08 12:08

@ego008 虽然精简。。。还是期待你测试报告,看稳定性杠不杠。。。

0
飞龙1
飞龙1 2018-08-27 09:59

还是在服务器上 直接安装 youbbs 然后 要在后台运行吗? 然后用 ngix 判断 区分、

可以说的明白一点不?

0
qoo酷儿
qoo酷儿 2018-08-29 14:37

@ego008 问一个有点弱的问题,SSLdocker支持目录吗?就是

{"Host": "yourdomain.com", "Target": "/var/www/html"}

SSLdocker能不能这样做?支持静态目录,本着省钱,一个VPS跑着youbbs,再跑一个静态网站这样。这样就可以完全不用nginx

0
ego008
ego008 2018-08-29 23:42

@qoo酷儿 用nginx或caddy吧,比较成熟,功能多。

0
qoo酷儿
qoo酷儿 2018-08-30 09:39

@ego008 哈哈,昨晚刷新几次不见回复,就试着接触下caddy,真没想到这么简单,简单到爆炸。还以为要花时间看手册爬文章,哪知道这么简单的。
只要注意下配置文件命名是 Caddyfile 是大写C不是小写,就直接支持引用了。
curl 下载一下,vim Caddyfile 一下,就Ok了。

0
Login Topics