利用raspberry pi搭建typecho笔记(三) typecho nginx sqlite FAQ

前言

这是一个汇总文,用来总结我在整个配置过程当中遇到的各类问题.由于我在解决这些问题的过程当中发现,typecho被部署在这种须要彻底本身配置的平台上的状况是比较少的,相关的资料也比较少,因此个人解决过程比较困难,所以在此以后,想把这些问题和解决方案都整理出来,若是有一样须要的人,能够直接参考,少走弯路.php

 

1.typecho安装过程当中提示"对不起,没法链接数据库,请先检查数据库配置再继续进行安装"

这里使用的sqlite数据库.css

我当时的解决方案是手动新建了一个数据库文件.利用html

1 sqlite3 blog.db
2 create table test(test text);

新建数据库与表,并将数据库所在目录指向这个文件来解决的,不过这个问题的本质并非数据库文件不存在,事实上typecho是能够本身新建数据库文件的,这个问题之因此出现是由于typecho没有对该目录的写权限而致使的问题.nginx

能够经过sql

1 sudo chmod -R 777 /var/www

来解决.不过这里的777过于极端,单纯是是为了确认typecho能够正常工做才设定的,这里的777意味着给予全部人(包括others)R W E的所有权限,这其实是不合理的,按照官方文档,755就够用了.数据库

 

2.typecho提示"没法自动新建配置文件"须要手动新建配置文件,而且复制配置代码.

依旧是权限问题,typecho没有写入权限,解决方案同上.vim

 

3.typecho配置完成以后提示 ERROR 500

这多是由于你经过新建数据库和本身新建配置文件的方法强制完成了整个配置流程而致使的,而typecho由于没有写入权限,没有可以完成对于数据库的初始化,须要经过更改权限解决.浏览器

 

4.typecho配置完成以后没法打开控制面板,除了主页之外所有404.

这是由于PHP的路径转发有问题致使的,由于不少nginx的默认PHP配置文件的写法为typecho

server {
        listen 80;
        root /var/www;
        index index.php index.html index.htm;

        location ~ \.php$ {
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                include fastcgi_params;
        }
}

其中路径location的写法是的path_info的转发出现了问题,将location更改成测试

location ~ .*\.php(\/.*)*$

就能够解决了.

 

5.内网访问正常,经过花生壳动态域名访问typecho主页全为白色,没法加载CSS文件,没法打开二级网页.

在WordPress当中,有一个博客地址的设置,能够用来规范二级域名的指向和转发,而在typecho中,也有相似的设置,只不过它并不在设置里面,而是在执行install.php也就是一开始的安装程序的时候自动执行,将第一次访问主页的地址做为本站的地址.由于在内网进行测试和调整的时候,咱们会使用内网IP访问树莓派,而非经过花生壳等得动态域名.这就使得typecho的本站地址设置出现错误.

在经过域名访问typecho时,若是咱们查看浏览器的HTTP请求的话,咱们会发现请求的CSS地址是192.168.1.100(树莓派内网地址)/var/www/css 显然这个内网地址是没有任何意义的.所以咱们须要从新配置这个参数.

使用域名从新访问树莓派 好比test.ecip.net/install.php 从新运行一次配置程序,便可解决.

 

6.内网访问正常,外网没法经过动态域名或者IP访问.

这是由于电信屏蔽了默认的HTTP端口(80)致使的.

须要更改nginx配置文件

sudo vim /etc/nginx/sites-available/mysite

 

将他的端口更改成81或者其余

server {
                listen 81;
                root /var/www;
                index index.php index.html index.htm;

        location ~ .*\.php(\/.*)*$ {
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                include fastcgi_params;

                                                        }
                }

而后经过test.ecip.net:81访问便可.

相关文章
相关标签/搜索