emmmmm,这篇文章拖了好久,终于下决心把坑填上了。基本是全文抄袭了,但是作者博客早就没了,(读书人的事哪能叫偷呢。我之前的博客就用的Typecho,前前后后折腾了好多遍,没有一个站是正经写点东西的,主题和插件倒是试了不少,关于Typecho的主题推荐一个Mirages,是个收费主题,但是写的很好也更新了几个大版本。

不过话说回来,写博客还是用Hexo好,不止一个人说起来,Typecho不适合写作,因为编辑器太烂。再就是动态博客终究是多余的东西,Hexo之类的静态博客的加载速度我觉得是远远优于Typecho和WordPress这类动态博客的。可能单纯是因为有些人把Hexo搭建的难度放大了,而WP搭建简单而且好多虚拟主机都可以一键了。

拉回正文,这篇文章是我很偶然看到的,当时那个作者的域名应该是32mb.space,刚看了一眼,域名好像都没了,他是搭建在屌鸡的64M Ovz机子上,我当时应该是实战了三四次,就为了看几个不同的博客主题,我搭建在Sentris的64M Ovz机子上,也就是俗称的“4刀3年”传家宝,而且是无限重装次数的,“传家宝中的传家宝”。

搭建环境推荐使用:Debian7 32位精简版。

说明一下,据说是64位的系统本身就会占更多资源,64M内存还是蛮紧张的。再就是CentOS系统本身占用很高,实际使用的时候yum update都会杀进程,应该是完全无法使用。

下面开始教(chao)程(xie):

1. 先更新下软件

apt-get update && apt-get upgrade -y

2. 安装 Nginx

apt-get install nginx -y

启动 nginx

service nginx start

3. 安装 MySQL

apt-get install mysql-server

期间要输入 MySQL 的 root user 密码,安装完后可以用命令查看 MySQL 的运行状态

service mysql status

4. 修改 MySQL 数据库编码为 UTF8

登录 mysql

(命令:mysql -u root -p, 之后输入密码)

输入 SHOW VARIABLES LIKE 'character_set_%';,会发现 默认为瑞典 latin1,会造成中文乱码,需要改成 UTF8

编辑 my.cnf

vi /etc/mysql/my.cnf

在 [client] 字段里加入

default-character-set=utf8

在 [mysqld] 字段里加入

character-set-server=utf8

在[mysql] 字段里加入

default-character-set=utf8

保存退出,mysql 中文乱码问题完美解决 (不确定的可以再登陆验证)

5. 安装 php

apt-get install php5 php5-fpm php5-mysql php5-curl

6. 配置 Nginx

首先备份 / etc/nginx/sites-available/default 这个重要文件

mv /etc/nginx/sites-available/default /etc/nginx/sites-available/default.bak

or

mv /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.bak

然后创建一个新的 default(default.conf) 文件

vi /etc/nginx/sites-available/default

or

vi /etc/nginx/conf.d/default.conf

将下面内容添加到文件中

Nginx配置示例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
server {
listen 80 default_server;
root /home/www;
index index.html index.htm index.php;

server_name emm.cat;

location / {
if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
rewrite (.*) /index.php;
}
}

location ~ .*\.php(\/.*)*$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
}
}`

简单说一下代码,

  • 第一个 location 之前,描述的是一些网站的全局配置。
  • 第一个 location 是 typecho 打开永久地址转换需要的重写规则。在你后面设置的时候 typecho 会自动检测是否可以打开,可能会检测失败,你选择强制打开即可。

  • 第二个 location 是 pathinfo 的支持,对于 typecho 这个是必须有的

  • root /home/www 是网站根目录,根据你自己的需求修改

###修改 fastcgi 配置
vi /etc/php5/fpm/pool.d/www.conf

将 listen 值改为listen = 127.0.0.1:9000

7. 安装 typecho

去官网 http://typecho.org/download 下载下来,放到自己网站的根目录。

修改下 php 配置,让其支持 typecho

vi /etc/php5/fpm/php.ini

找到 cgi.fix_pathinfo=1 这一行,去掉前面的分号, 将 1 改为0

8. 安装 PhpMyAdmin(可选,建议不做以节省资源)

apt-get install phpmyadmin

安装完成后,把它link到 /home/www/, 也就是新的Nginx的默认网页文件夹,这样你就可以通过网页,访问它了。
ln -s /usr/share/phpmyadmin /home/www/phpmyadmin

赋予网站根目录读写权限

chmod -R 777 /home/www

激活 mcrypt

php5enmod mcrypt

9. 重启服务是配置生效

重启 php5-fpm:

service php5-fpm restart

重启 Nginx:

service nginx restart

现在,应该可以访问网站域名来安装Typecho了

附上Typecho官方安装文档:

http://docs.typecho.org/install

开启你的 typecho 博客之路吧 !

写在后面,这时候你如果觉得还可以再利用一下你的64M内存,你甚至可以再安装一个Shadowsocks,推荐Shadowsocks-go版本的,只是我当时尝试一键脚本时唯一能装上的(Libev的一键脚本都是从源码编译的,64M并不能跑得起来,加之当时白得很,一心都是一键所以懒得找了

附上Shadowsocks-go一键脚本:

https://teddysun.com/392.html
1
2
3
wget --no-check-certificate -O shadowsocks-go.sh https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-go.sh
chmod +x shadowsocks-go.sh
./shadowsocks-go.sh 2>&1 | tee shadowsocks-go.log

Libev版也可以直接安装已经编译好的版本

https://github.com/shadowsocks/shadowsocks-libev#install-from-repository


版权声明:

知识共享许可协议
本文由EmmCat原创,采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议(CC BY-NC-ND 4.0)进行许可,转载请保留以上声明信息,版权所有,侵权必究!
本文链接:https://emm.cat/2017/10/18/typecho-on-64m-vps/