首页 > 网站 > Nginx > 正文

在Nginx服务器上安装配置博客程序Typecho的教程

2024-08-30 12:26:25
字体:
来源:转载
供稿:网友

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.gztart -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;  }            
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表