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

2024-09-03 20:18

本文主要是介绍利用raspberry pi搭建typecho笔记(三) typecho nginx sqlite FAQ,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

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

 

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

这里使用的sqlite数据库.

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

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

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

可以通过

1 sudo chmod -R 777 /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 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访问即可.


这篇关于利用raspberry pi搭建typecho笔记(三) typecho nginx sqlite FAQ的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1133935

相关文章

如何自定义Nginx JSON日志格式配置

《如何自定义NginxJSON日志格式配置》Nginx作为最流行的Web服务器之一,其灵活的日志配置能力允许我们根据需求定制日志格式,本文将详细介绍如何配置Nginx以JSON格式记录访问日志,这种... 目录前言为什么选择jsON格式日志?配置步骤详解1. 安装Nginx服务2. 自定义JSON日志格式各

Nginx指令add_header和proxy_set_header的区别及说明

《Nginx指令add_header和proxy_set_header的区别及说明》:本文主要介绍Nginx指令add_header和proxy_set_header的区别及说明,具有很好的参考价... 目录Nginx指令add_header和proxy_set_header区别如何理解反向代理?proxy

Nginx配置location+rewrite实现隐性域名配置

《Nginx配置location+rewrite实现隐性域名配置》本文主要介绍了Nginx配置location+rewrite实现隐性域名配置,包括基于根目录、条件和反向代理+rewrite配置的隐性... 目录1、配置基于根目录的隐性域名(就是nginx反向代理)2、配置基于条件的隐性域名2.1、基于条件

Ubuntu中Nginx虚拟主机设置的项目实践

《Ubuntu中Nginx虚拟主机设置的项目实践》通过配置虚拟主机,可以在同一台服务器上运行多个独立的网站,本文主要介绍了Ubuntu中Nginx虚拟主机设置的项目实践,具有一定的参考价值,感兴趣的可... 目录简介安装 Nginx创建虚拟主机1. 创建网站目录2. 创建默认索引文件3. 配置 Nginx4

Nginx如何进行流量按比例转发

《Nginx如何进行流量按比例转发》Nginx可以借助split_clients指令或通过weight参数以及Lua脚本实现流量按比例转发,下面小编就为大家介绍一下两种方式具体的操作步骤吧... 目录方式一:借助split_clients指令1. 配置split_clients2. 配置后端服务器组3. 配

Nginx实现前端灰度发布

《Nginx实现前端灰度发布》灰度发布是一种重要的策略,它允许我们在不影响所有用户的情况下,逐步推出新功能或更新,通过灰度发布,我们可以测试新版本的稳定性和性能,下面就来介绍一下前端灰度发布的使用,感... 目录前言一、基于权重的流量分配二、基于 Cookie 的分流三、基于请求头的分流四、基于请求参数的分

使用DeepSeek搭建个人知识库(在笔记本电脑上)

《使用DeepSeek搭建个人知识库(在笔记本电脑上)》本文介绍了如何在笔记本电脑上使用DeepSeek和开源工具搭建个人知识库,通过安装DeepSeek和RAGFlow,并使用CherryStudi... 目录部署环境软件清单安装DeepSeek安装Cherry Studio安装RAGFlow设置知识库总

Linux搭建Mysql主从同步的教程

《Linux搭建Mysql主从同步的教程》:本文主要介绍Linux搭建Mysql主从同步的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux搭建mysql主从同步1.启动mysql服务2.修改Mysql主库配置文件/etc/my.cnf3.重启主库my

国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)

《国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)》本文给大家利用deepseek模型搭建私有知识问答库的详细步骤和遇到的问题及解决办法,感兴趣的朋友一起看看吧... 目录1. 第1步大家在安装完ollama后,需要到系统环境变量中添加两个变量2. 第3步 “在cmd中

一文详解Nginx的强缓存和协商缓存

《一文详解Nginx的强缓存和协商缓存》这篇文章主要为大家详细介绍了Nginx中强缓存和协商缓存的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、强缓存(Strong Cache)1. 定义2. 响应头3. Nginx 配置示例4. 行为5. 适用场景二、协商缓存(协