千辛万苦,终于做出来了!

自从会写html开始就一直想搞一个自己的博客,开始碍于能力有限,一直没找到头绪。时隔一年,终于做好了,记录一下小踩的坑。

后台搭建

命令行弱鸡果断选择现成的面板工具。使用宝塔进行全局的运维管理,方便快捷, 各种环境一键搭建。这真不是广告,实在是太友好了。

现有的环境选择nginx+mysql,以后打算增加node的管理接口,先摆个坑在这。ftp、phpmyadmin这些都是宝塔一键安装,当个添头,操作起来也很方便。node进程现在用pm2管理,回头还要补下文档,暂时只跑了一个wakatime-async,可以把wakatiame的数据存到gist上,定时任务每天凌晨一点半抓一下,通过server酱推送到微信。

其他应用全跑docker上,体感上宿主机各种进程管理会比较清晰。

Docker踩坑

基于之前已经操作过docker,对其命令还是略有了解,这里记录一下奇奇怪怪的坑。

博客先选用了wordpress,docker一键搭建。后台苦手,自己搭一套文章管理怕不是再过两年,先跑起来再说。

因为宿主机上的宝塔已经建了sql服务,这里选择wordpressdocker连接宿主机sql服务。于是就有了第一个大坑,容器跑起来

docker run -d --name wordpress -e WORDPRESS_DB_HOST=localhost:3306 -p 1080:80 wordpress

进1080端口,咦,发现连不上服务器。

原来这里WORDPRESS_DB_HOSTlocalhost就会到容器自己的localhost,连不到宿主机上。这里搜了些资料,宿主机ifconfig命令找到docker的虚拟网卡ip,填上,还是连不上服务器??这里就是第二个大坑了,左思右想,寻思可能是数据库权限的问题,因为新装的数据库不允许外部访问,于是

 update user set host=‘%’ where user=‘root’

好了,这回进1080端口,一切正常了。

nginx

再然后,现在还需要加端口号,我想直接输入域名就可以访问我的小破站。配了一下nginx

server 
{
    listen 80;
    server_name luv.plus;
    index index.html index.htm index.php default.html default.htm default.php;
    location /
    {
        proxy_pass   http://127.0.0.1:1080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-PORT $remote_port;
        proxy_set_header X-Real-IP $remote_addr; 
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

中间有一个坑是没有加set_header的部分,一进网站就跳127.0.0.1。没弄明白怎么回事,回头再补nginx的相关知识吧。