前言

这是一个汇总文,用来总结我在整个配置过程中遇到的各种问题.因为我在解决这些问题的过程中发现,typecho被部署在这种需要完全自己配置的平台上的情况是比较少的,相关的资料也比较少,所以我的解决过程比较困难,因此在此之后,想把这些问题和解决方案都整理出来,如果有同样需要的人,可以直接参考,少走弯路.

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

这里使用的sqlite数据库.

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

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

新建数据库与表,并将数据库所在目录指向这个文件来解决的,不过这个问题的本质并不是数据库文件不存在,事实上typecho是可以自己新建数据库文件的,这个问题之所以出现是因为typecho没有对该目录的写权限而导致的问题.

可以通过

 sudo chmod -R  /var/www

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

2.typecho提示"无法自动新建配置文件"需要手动新建配置文件,并且复制配置代码.

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

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

这可能是因为你通过新建数据库和自己新建配置文件的方法强制完成了整个配置流程而导致的,而typecho因为没有写入权限,没有能够完成对于数据库的初始化,需要通过更改权限解决.

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

这是因为PHP的路径转发有问题导致的,因为很多nginx的默认PHP配置文件的写法为

server {
listen ;
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 ;
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访问即可.

利用raspberry pi搭建typecho笔记(三) typecho nginx sqlite FAQ的更多相关文章

  1. 利用raspberry pi搭建typecho笔记(二) sqlite和typecho部署

    sqlite概述 typecho可以支持MYSQL和Sqlite两种数据库,因为Sqlite更为轻量,并且不需要额外的进程,而是直接对数据库文件进行读取,所以配置相对于MySQL也更为简单,仅需指定数 ...

  2. 利用raspberry pi搭建typecho笔记(一) nginx PHP server quick start

    前言 因为一直对linux学习很有兴趣,就拿手头的树莓派做了实验,搭建一个简易的php服务器用来跑typecho. 但是过程却是异乎寻常的艰辛,几乎每一步能卡住得地方都卡住了.而且typecho的资料 ...

  3. 树莓派(Raspberry Pi)搭建简单的lamp服务

    树莓派(Raspberry Pi)搭建简单的lamp服务: 1. LAMP 的安装 sudo apt-get install apache2 mysql-server mysql-client php ...

  4. 用Raspberry Pi搭建Azure IOT解决方案

    Raspberry Pi是一款基于Linux的单板机电脑.它由英国的树莓派基金会所开发,目的是以低价硬件及自由软件刺激在学校的基本计算机科学教育.树莓派配备一枚博通(Broadcom)出产的ARM架构 ...

  5. 2014年基于Raspberry Pi的5大项目

    2014年基于Raspberry Pi的5大项目   Raspberry Pi(即树莓派)是一款基于Linux系统(Debian.ArchLinux)的单板机计算机,它只有一张信用卡大小,可用于电子表 ...

  6. Raspberry Pi 学习笔记之一

    记录几个搭建服务器教程: [教程] 将树莓派变成网络打印机服务器(更新PC和手机端设置)!http://www.eeboard.com/bbs/thread-8818-1-1.html[心得] [分享 ...

  7. Raspberry Pi学习笔记

    一.树莓派 Raspberry Pi 更换国内源 编辑 /etc/apt/sources.list 文件,用 nano 命令编辑 pi@raspberrypi:~$ sudo cp /etc/apt/ ...

  8. 我的树莓派 Raspberry Pi Zero 2W 折腾笔记,记录一些遇到的问题和解决办法

    0x00 前言说明 最近买了一块Raspberry Pi Zero 2W来玩,目的是想搭建一台远程运行的个人服务器,上面放个博客.点个灯啥的.于是就有了这篇文章. 树莓派官网地址:https://ww ...

  9. 树莓派(raspberry)启用root账户 分类: 服务器搭建 Raspberry Pi 2015-04-12 18:45 95人阅读 评论(0) 收藏

    树莓派使用的linux是debian系统,所以树莓派启用root和debian是相同的. debian里root账户默认没有密码,但账户锁定. 当需要root权限时,由默认账户经由sudo执行,Ras ...

随机推荐

  1. Java compiler level does not match the version of the installed Java project facet.解决办法

    问题原因: 出现这个问题的原因是因为,eclipse/myeclipse的jdk编译版本与出现问题的项目JDK编译版本不一致所导致!   解决办法: 工程名---->右键properties-- ...

  2. hdu 六度分离

    http://acm.hdu.edu.cn/showproblem.php?pid=1869 #include <cstdio> #include <cstring> #inc ...

  3. Codeforces 474D Flowers

    http://codeforces.com/problemset/problem/474/D 思路:F[i]=F[i-1]+(i>=K)F[i-k] #include<cstdio> ...

  4. mybatis源代码分析:mybatis延迟加载机制改进

    在上一篇博客<mybatis源代码分析:深入了解mybatis延迟加载机制>讲诉了mybatis延迟加载的具体机制及实现原理. 可以看出,如果查询结果对象中有一个属性是需要延迟加载的,那整 ...

  5. unix c 01

    gcc编译器(代码的 预处理/汇编/编译/连接) C程序员一般写程序会定义 .c和.h两种文件 .c文件(源文件)中一般放代码的实现,.h文件(头文件)中放 各种声明和定义.   gcc -E __. ...

  6. 设计模式之八:外观模式(Facade)

    外观模式: 为子系统中的一系列接口提供了一个统一的界面.外观模式定义了一个高层次的接口以使子系统更加easy使用. Provide a unified interface to a set of in ...

  7. Java中随机数生成的两种方法,以及math的floor

    1.Math的random方法,调用这个Math.Random()函数能够返回带正号的double值,该值大于等于0.0且小于1.0,即取值范围是[0.0,1.0)的左闭右开区间,返回值是一个伪随机选 ...

  8. [Spring入门学习笔记][maven]

    什么是maven? 我的理解: 一个项目有一大堆依赖包的时候,没必要下下来,可以利用maven中的pom.xml 指定需要那些依赖包,让maven去本地中央库(如果没找到)->网上仓库库帮你调用 ...

  9. 使用react-native做一个简单的应用-06商品界面的实现

    商品界面实现起来很简单,其实就是一个listview的使用: 关于listview的使用,在官方文档里面已经介绍的很详细了.在这里我要提一个坑. listview在Android和iOS中的效果是不一 ...

  10. oracle行号排序问题

    1.创建一个student,并且插入数据 ),age int) '); '); '); '); '); commit; 2.直接按照age进行排序显示行号: select * from(select ...