nginx

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > nginx > Nginx上安装配置Typecho

在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 按提示数据数据库信息,即可完成安装。

2015122995229365.jpg (258×543)

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换成你自己的实际域名和实际目录存放地址

您可能感兴趣的文章:
阅读全文