欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

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

程序员文章站 2023-11-15 16:10:34
typecho比wordpress更轻,更专注于写的享受。 现在大多的虚拟机运行环境都是lnmp,安装教程安装typecho可能会遇到404,数据配置错误问题。 把这两...

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

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

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