今天给博客搬了个家,实际上是因为原来托管的服务器余额空了,就换到另一个自己搭建的平台上来了•••• 没怎么接触过WordPress服务器搭建,迁移数据的时候跳了很多坑,不过也算是基本都爬了出来,能写出这篇文就是证明( • ̀ω•́ )
域名[enihsyou.com]((https://enihsyou.com)是在2015年2月注册的,名字来源比较奇葩,高中时候一个灵光 脑中蹦出来shine这个词,感觉挺棒的就把它倒了过来(゚∀。),为了和名字匹配上 再给尾巴上加了个you。很明显 这样一个无法发音的词绝对是全球唯一的_(┐「ε:)_,就把enihsyou当做用户名了。(可以使用/enɪʃoʊ/发音←我乱写的
然后陆陆续续有加了两个: tsubasa.moe 和 ryoka.moe,以后可能会分作他用,不过现在都是绑定在这网站上的,任意一个都能访问到本博客。这两个.moe结尾的域名,普通人看来好像不知道什么意思,第一个tsubasa是つばさ 翼(翅膀)的意思,第二个ryoka是涼果 りょうか的罗马音ryōka。都是某种名字的变形式_(°ω°」 ∠)
WordPress使用的是PHP语言,服务器使用Nginx,一开始是简单直接地把所有文件都丢到默认的服务器根文件夹,导入数据库文件,然后设置好目录下的wp-config.php文件。再去DNS那里把解析改成新地址,过了一段时间之后网站成功上线啦d(`・∀・)b
以为这样就完美了吗(⁰▿⁰) 过了几天自己访问尝试的时候,发现内页无法打开,显示404。Google搜索一下,原因是固定链接(就是类似enihsyou.com/archives/275这样的)在文件目录下不存在,解决方法也很简单,在nginx配置文件上给网站加上伪静态。
事违人愿,修改的过程并不顺利•••
- 第一步 把目录文件提出来 放到单独的文件夹下。这是之前犯的一个错误,不应该直接丢到根目录下,分开了放有很多好处,其中一个就是多站点管理。(实际上最初还把数据库文件导入到了错误的表里,对照着一个个手动删除(≖ᴗ≖๑)
- 第二步 把Nginx配置文件分站点设置。之前也是直接修改了default默认设置,还好有历史记录可以改回来。Google了一下如何写配置文件,相当于学习了一部分Nginx服务器的架设知识了···加上WordPress伪静态设置。
- 第三步 重启Nginx服务
service nginx restart
到这里,本以为就这么结束了(不然也不会花了我几个小时时间) 打开之后发现网站502,这是服务器问题啊!那么改吧,怎么改呢?一通搜索知道了这个现象和WordPress基础之一php-fpm有关。略去耗时的搜寻解决过程,结论是Nginx站点配置文件里要修改fastcgi属性为有效值,比如fastcgi_pass,可以修改为默认值127.0.0.1:9000。fastcgi_param也最好使用变量实现,修改成SCRIPT_FILENAME $document_root$fastcgi_script_name。
再次重启Nginx 重启php-fpm。然后网站的博客虽然好了,挂在同服务器下的其他站点挂了···继续寻找错误,这一次 终于学会了看日志文件!查看其他网站的日志,有一条很显眼地显示…connect() to unix:///home/wordpress/phpfpm.sock failed (2: No such file or directory)…,这也是php-fpm的问题,把相关配置修改为 127.0.0.1:9000 问题解决。
再来,网站们终于正常了,网站也打得开了,可是后台界面一进去 内容只是一闪就消失了!如此神奇的状况还是第一次见,再次查看日志,里面有一条…FastCGI sent in stderr: “PHP message: PHP Warning: Unknown: open_basedir restriction in effect. … 粗暴翻译过来就是open_basedir限制生效了,搜索说open_basedir是在php.ini设置里的,我去一看 分明是注释掉了 没有设置的属性哇···好吧,出错了那就显式指定到根目录,这回没问题了(。◕∀◕。) 现在知道了是之前根目录下有一个.user.ini文件,里面写着open_basedir限制,还是查日志查出来的···
也算是学习了服务器配置的基础థ౪థ
不过最近有朋友反映Widget打不开(゚⊿゚),不断测试之后,我只能说中国墙太高 有的文件没有加载出来•••比如twitter小部件什么的。以后来改进改进。可以顺带换个主题(ㆆᴗㆆ)