在Nginx服务器上安装配置博客程序Typecho的教程
作者:mood
这篇文章主要介绍了在Nginx服务器上安装配置博客程序Typecho的教程,Typecho是一个开源的PHP博客程序,比WordPress更加轻量,需要的朋友可以参考下
typecho比wordpress更轻,更专注于写的享受。
现在大多的虚拟机运行环境都是lnmp,安装教程安装typecho可能会遇到404,数据配置错误问题。
把这两天安装typecho的步骤写下来给大家参考.
typecho安装方法
1.下载
#网站目录 cd /usr/local/nginx/html/ wget https://github.com/typecho/typecho/releases/download/v0.9-13.12.12-release/0.9.13.12.12.-release.tar.gz -O typecho.tar.gz tart -zxvf typecho.tar.gz
这样typecho的源代码放到了/usr/local/nginx/html/build
2.配置nginx的虚拟机(修改www.cxy.cc为你的域名),nginx配置typecho伪静态
upstream php { server 127.0.0.1:9000; } server { server_name www.cxy.cc; root html/build; access_log logs/wcxy.access.log main; error_log logs/wcxy.error.log; index index.php list.php; location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { allow all; log_not_found off; access_log off; } if ( !-e $request_filename ) { rewrite ^(.*)$ /index.php$1 last; } location ~ .*.php(/.*)*$ { fastcgi_index index.php; include fastcgi.conf; fastcgi_split_path_info ^((?U).+.php)(/?.+)$; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; fastcgi_intercept_errors on; fastcgi_pass php; } location /status { #stub_status on; access_log off; } location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location ~ .*.(js|css)?$ { expires 12h; } }
3.登陆phpmyadmin,新建数据库,一定要提前建立数据库,如果直接安装typecho会提示“对不起,无法连接数据库,请先检查数据库配置再继续进行安装”
4.访问http://www.cxy.cc/install.php 按提示数据数据库信息,即可完成安装。
5.一些常见问题的解决
(1)安装完typecho只有首页能访问,访问其它页页面报404错误。
问题在于typecho需要pathinfo功能,nginx需要配置才能支持此功能,解决办法见第二步。
一般的出现这种情况时,nginx.conf里的的location设置都是类似这样
location ~ .*\.php$
要支持pathinfo,要改成
location ~ .*\.php(\/.*)*$
在某些老版本的php里面,可能还要打开php.ini里的cgi.fix_pathinfo
cgi.fix_pathinfo = 1
(2)Nginx服务器无法实现伪静态化,在后台设置不成功
这主要是nginx的rewrite没有设置导致的
在nginx.conf里找到网站的server配置段,一般我们推荐如下的配置
server { listen 80; server_name yourdomain.com; root /home/yourdomain/www/; index index.html index.htm index.php; if (!-e $request_filename) { rewrite ^(.*)$ /index.php$1 last; } location ~ .*\.php(\/.*)*$ { include fastcgi.conf; fastcgi_pass 127.0.0.1:9000; } access_log logs/yourdomain.log combined; }
:!:注意把以上配置中的yourdomain换成你自己的实际域名和实际目录存放地址