股市可以休息了,闲暇搞了个在线生成配置的小页面,没做前端ui,只是自己用着方便,谁有需要就直接用。
1,Nginx配置生成
地址: https://api.tingtao.org/cfg
接受的参数以及解释:
os //操作系统,fb/deb9,必须 svrsoft //软件,nginx/php,必须 svrpoint //服务器角色,0为单机,1为前端,2为后端,必须 ssl //是否启用ssl,1为启用 ssldirname //证书的目录名 php //php版本,0代表不用php,否则用7.0/7.3这样的,必须 webname //站点名,建议同ftp目录名,不要用太奇葩的命名,必须 fastcgi //是否启用fastcgi_cache缓存,1为启用 fastcgicachetime //fastcgi缓存时间,1d、2h这样的 proxytime //前端proxy缓存时间 staticfile //在前端角色中是否本地直连静态文件,1为直连 domains //域名,用英文逗号分隔,必须 logs //是否启用web日志,1为启用 backendip //后端服务器地址,不填写为127.0.0.1 backendPort80 //后端服务器80端口,默认为801 backendPort443 //后端服务器443端口,默认为4431
不同的配置,则各参数不一定是必须的,比如如果fastcgi=0,则fastcgicachetime就不用提交
os这个,目前只测试了debian 9+php7.3环境,FreeBSD没测试,不过配置文件本身区别不大,所以我估计没什么问题。接受的参数:fb为freebsd,deb9为debian 9
svrsoft,如果提交php则会生成php-fpm的配置,后面会详细说。这里必须提交nginx
svrpoint,此站点角色,0为标准的站点,1=proxy身份,2为1的后端站点,也就是1相当于cdn进行压力分担,2相当于源网站。为了方便,2监听801和4431,而1监听80和443,两者通过127.0.0.1进行通信,有必要的话可以对应更改。
ssl,提交1则接受https访问,其他值或者0则不监听。
ssldirname,比如证书位于/var/www/ca/12345/fullchain.pem,则此参数应该为12345,前后路径都是定死的,或者你自己再进行修改。
php,提交0或者版本号
webname,更像是给该站点起一个别名,用来在nginx和php之间协商用,不要用太诡异的命名,否则可能会有问题
fastcgi,是否开启fastcgi_cache这个模块,用来加速php处理,我认为这个只适合wp这样的虚拟静态站点使用,而且更新不频繁,否则就失去动态站点的意义了。
fastcgicachetime,缓存时间,更新不频繁的话4h,也就是4小时就不错,当然你设置为100天:100d也是可以的。
proxytime,前端缓存时间,只在svrpoint为1的时候有效。
staticfile,只有当前后端为同一个服务器的时候,可以用这个设置来让图片、js这些直接物理读取,可以提升性能。这个设置只在svrpoint为1的时候有意义。
domains,绑定的域名,也就是主机头,多个之间用英文逗号分割
logs,如果提交1则开启访问与错误日志,其他值或者不提交则不开启日志。
几个例子:
A,域名为soft.tingtao.org,纯静态站点:
wget -4 "https://api.tingtao.org/cfg?svrsoft=nginx&webname=soft.tingtao.org&php=0&svrpoint=0&ssl=1&logs=0&fastcgi=0&domains=soft.tingtao.org&ssldirname=tingtao.org&staticfile=0" -O /etc/nginx/sites-enabled/soft.tingtao.org.conf
B,域名为tingtao.org和www.tingtao.org,前后端模式,使用php7.3:
wget -4 "https://api.tingtao.org/cfg?svrsoft=nginx&webname=www.tingtao.org&php=7.3&svrpoint=1&ssl=1&logs=1&fastcgi=0&domains=tingtao.org,www.tingtao.org&ssldirname=tingtao.org&proxytime=1h&staticfile=1" -O /etc/nginx/sites-enabled/www.tingtao.org.conf wget -4 "https://api.tingtao.org/cfg?svrsoft=nginx&webname=www.tingtao.org&php=7.3&svrpoint=2&ssl=1&logs=0&fastcgi=0&domains=tingtao.org,www.tingtao.org&ssldirname=tingtao.org" -O /etc/nginx/sites-enabled/www.tingtao.org_nocache.conf
C,域名为tingtao.org和www.tingtao.org,单机php站点:
wget -4 "https://api.tingtao.org/cfg?svrsoft=nginx&webname=www.tingtao.org&php=7.3&svrpoint=0&ssl=1&logs=1&fastcgi=0&domains=tingtao.org,www.tingtao.org&ssldirname=tingtao.org" -O /etc/nginx/sites-enabled/www.tingtao.org.conf
2,PHP-FPM配置生成
地址: https://api.tingtao.org/cfg
接受的参数以及解释:
os //操作系统,fb/deb9,必须 svrsoft //软件,nginx/php,必须 php //php版本,用7.0/7.3这样的,必须 webname //站点名,建议同ftp目录名,不要用太奇葩的命名,必须
参数的解释与nginx那部分相同,需要注意的是同一个站点参数应该与nginx部分保持一致,否则会有问题。
svrsoft 参数在这里必须提交php
例子:
生成前面例子中www.tingtao.org的php配置:
wget -4 "https://api.tingtao.org/cfg?svrsoft=php&os=deb9&webname=www.tingtao.org&php=7.3" -O /etc/php/7.3/fpm/pool.d/www.tingtao.org.conf
3,MariaDB-Server配置生成
地址: https://api.tingtao.org/cfg
接受的参数以及解释:
os //操作系统,fb/deb9,必须 svrsoft //软件,mysql,必须
Debian 9的MariaDB-server配置:
https://api.tingtao.org/cfg?svrsoft=mysql&os=deb9
FreeBSD 12的:
https://api.tingtao.org/cfg?svrsoft=mysql&os=fb
4,ProFTPD的配置生成:
地址: https://api.tingtao.org/cfg
接受的参数以及解释:
os //操作系统,fb/deb9,必须 svrsoft //软件,proftpd,必须
Debian 9的ProFTPD配置:
https://api.tingtao.org/cfg?svrsoft=proftpd&os=deb9
FreeBSD 12的:
https://api.tingtao.org/cfg?svrsoft=proftpd&os=fb
可以直接打开这些提交的地址看看就明白怎么回事了,比如
https://api.tingtao.org/cfg?svrsoft=php&os=deb9&webname=www.tingtao.org&php=7.3
打开以后可能换行不正确显示,用“查看网页源代码”就好了。
最后要说明的是,proxy和fastcgi_cache这些需要在全局配置中加载对应的模块以及配置好存储区,之前文章有写,不再啰嗦。