本文关键词:lnmp wordpress建设多网站
昨天半夜折腾服务器,差点没把心态搞崩。
起因是想在一台低配云主机上跑两个WordPress博客。
一个做SEO站,一个做品牌展示。
要是用那种一键安装包或者面板,确实省事。
但我想省那点服务器成本,毕竟带宽贵啊。
于是决定手写nginx配置,也就是lnmp wordpress建设多网站。
过程有点粗糙,全是坑。
先把目录结构理清楚。
/var/www/html下建两个文件夹。
blog1和blog2,分别放两个站的代码。
别弄复杂了,简单直接最靠谱。
接着是mysql数据库。
两个站必须独立建库。
别偷懒共用一个库,万一其中一个站被挂了,全得完蛋。
权限也要设好,别给root权限,给特定用户就行。
这一步很多人忽略,其实很关键。
然后是重头戏,nginx配置。
这是lnmp wordpress建设多网站的核心难点。
你要在sites-enabled里写两个配置文件。
blog1.conf和blog2.conf。
注意,根目录要指向各自的文件夹。
location / {
try_files $uri $uri/ /index.php?$args;
}
这段伪静态规则,复制粘贴容易出错。
我昨晚就栽在这个花括号上。
少了一个分号,整个nginx重启失败,两个站都白屏。
排查了半小时日志,才发现是小弟手滑。
记得改权限。
chown -R www:www /var/www/html/blog1
chmod -R 755 /var/www/html/blog1
这两行命令必须敲。
不然wp插件更新时,总是提示请输入FTP密码。
那种感觉,就像你在开车,引擎却突然熄火。
特别憋屈。
缓存这块,我用了redis。
两个站的缓存要分开。
别混用key前缀。
不然数据交叉,页面显示乱码,内容错乱。
调试的时候,最好清一次缓存,刷新浏览器硬刷新。
ctrl+shift+r,这个快捷键得背下来。
省得你一个个去删插件缓存。
说到插件。
两个站装的插件版本可以不一样。
但基础插件像wp-redis,版本最好保持一致。
这样出问题了,方便排查。
要是版本太老,有安全漏洞。
黑客可不讲武德,专门盯着老版本下手。
安全防护方面。
把wp-config.php移到网站根目录之外。
这是个老技巧了,但依然有效。
不让别人直接访问配置文件。
再加上云服务器的安全组。
只开80和443端口。
mysql的3306端口只对localhost开放。
这点千万别大意。
我见过太多因为端口暴露被扫成肉鸡的案例。
最后部署的时候。
记得重启php-fpm和nginx。
service nginx restart
service php7.4-fpm restart
端口号要看你装的php版本。
别死记硬背,ls /etc/init.d/看看有啥。
真实情况是,lnmp wordpress建设多网站并没有那么难。
难的是细节。
一个分号,一个权限,就能让你debug一整天。
但我认为,自己手搓一遍,收益巨大。
比起用那些臃肿的面板。
你能清楚知道每个文件在哪,每个配置干嘛。
这对后续维护,或者服务器迁移,太重要了。
有人问,这样累不累。
累是肯定累。
但当你看到两个站流畅运行,数据隔离得清清楚楚。
那种掌控感,是面板给不了的。
尤其是遇到报错时,你能精准定位到nginx日志里的哪一行。
那种成就感,懂的都懂。
建议新手别一上来就搞高并发。
先在一个站跑通。
再复制配置,改个域名,改个路径。
慢慢加第二个站。
别贪多。
一口吃不成胖子。
服务器资源有限,别把CPU打满。
监控一下负载。
超过70%就优化代码或者扩容。
别等崩了再哭。
这次折腾下来,我对lnmp wordpress建设多网站有了更深的理解。
不是技术有多高深。
而是对流程的熟悉程度。
每个步骤都得心里有数。
希望这篇笔记能帮到正在坑里挣扎的你。
少走弯路,早点下班。