服务器之家:专注于服务器技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟主机|服务器安全|DNS服务器|服务器知识|Nginx|IIS|Tomcat|

服务器之家 - 服务器技术 - Nginx - 在Nginx服务器上安装配置博客程序Typecho的教程

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

2019-11-05 11:48mood Nginx

这篇文章主要介绍了在Nginx服务器上安装配置博客程序Typecho的教程,Typecho是一个开源的PHP博客程序,比WordPress更加轻量,需要的朋友可以参考下

typecho比wordpress更轻,更专注于写的享受。

现在大多的虚拟机运行环境都是lnmp,安装教程安装typecho可能会遇到404,数据配置错误问题。

把这两天安装typecho的步骤写下来给大家参考.

typecho安装方法

1.下载

?
1
2
3
4
#网站目录
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伪静态

?
1
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设置都是类似这样

?
1
location ~ .*\.php$

要支持pathinfo,要改成

?
1
location ~ .*\.php(\/.*)*$

在某些老版本的php里面,可能还要打开php.ini里的cgi.fix_pathinfo

?
1
cgi.fix_pathinfo = 1

(2)Nginx服务器无法实现伪静态化,在后台设置不成功

这主要是nginx的rewrite没有设置导致的

在nginx.conf里找到网站的server配置段,一般我们推荐如下的配置

 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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换成你自己的实际域名和实际目录存放地址

延伸 · 阅读

精彩推荐