利用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訪問便可.

相關文章
相關標籤/搜索