MENU

Typecho搭建指南(LNMP)

March 15, 2019 • 极意

  教你搭建属于自己的Typecho小博客~

  操作系统为Ubuntu 18.04,LNMP搭建,CloudFlare的SSL牌照
  最近因为迁移站点,所以按以前写的备忘重新搭建了一遍,事实证明每次留下操作代码实在是一个极好的习惯,几分钟就弄好了,于是顺带分享一下~

  (由于目前还没有图床,而且我觉得在网上找资料的时候会学到很多,所以并不打算太罗嗦,以下代码亲测可以使用,如有问题请自行谷歌或者留言,本文重在提供一种可行方案,而非百科式教学,诸如VPS/域名等前置条件便不在本文范围内)


— 为什么选择Typecho —


  因为好看啊!
  开源极简漂亮,原生支持Markdown,还要啥自行车?


— LNMP环境构建 —


1.安装Nginx

sudo apt install nginx -y
# sudo ufw allow 'Nginx HTTP'
sudo systemctl start nginx
sudo systemctl enable nginx
# 此时可以通过ip登陆访问

2.安装Mysql数据库

sudo apt install mysql-server mysql-client -y
sudo mysql_secure_installation
# 这里会提示你设置密码
sudo systemctl start mysql
sudo systemctl enable mysql
sudo mysql
# 设置root用户使用密码登陆

  下面使用数据库命令操作

#--------------------------------------------
SELECT user,authentication_string,plugin,host FROM mysql.user;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '刚才设置的root密码';
SELECT user,authentication_string,plugin,host FROM mysql.user;
exit
#--------------------------------------------
# 新建Typecho数据库
mysql -u root -p
#--------------------------------------------
CREATE DATABASE `typecho` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
exit
#--------------------------------------------

3.安装PHP-7.2

sudo apt-get install -y software-properties-common
sudo add-apt-repository universe
sudo apt install php-fpm php-mysql php-mbstring -y
sudo nano /etc/nginx/sites-available/你的网站.com
#------------将以下内容填入--------------------
server {
        listen 80;
        root /var/www/html;
        index index.php index.html index.htm index.nginx-debian.html;
        server_name 你的网站.com;

        location / {
                try_files $uri $uri/ =404;
        }

        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
        }

        location ~ /\.ht {
                deny all;
        }
}
#--------------------------------------------
sudo ln -s /etc/nginx/sites-available/你的网站.com /etc/nginx/sites-enabled/
sudo unlink /etc/nginx/sites-enabled/default
sudo nginx -t
# 这里显示成功方可继续
sudo systemctl reload nginx
sudo nano /var/www/html/info.php
#------------将以下内容填入--------------------
<?php
phpinfo();
#--------------------------------------------
# 此时可访问你的域名/info.php查看配置信息(日后记得删除)
systemctl reload nginx

— 搭建Typecho —


  下载解压如下:

cd /var/www/html
sudo wget -c http://typecho.org/downloads/1.1-17.10.30-release.tar.gz
sudo tar xvzf 1.1-17.10.30-release.tar.gz
mv build/* .
sudo chmod -R 777 /var/www/html
# sudo rm 1.1-17.10.30-release.tar.gz
# sudo rm -rf build

  此时登陆你的域名或者IP即可看到安装界面,按提示操作,记得记住账号密码

  这里注意安装完成后可能出现进入后台显示404的问题,修改下Nginx配置即可:

# typecho Nginx 404 error
sudo nano /etc/nginx/sites-available/你的网站.com
#------------将以下内容填入--------------------
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;
}
#--------------------------------------------
# 添加位置如下
# server{
#     ...
#     location / {
#         ...
#         //这里添加
#         ...
#         try_files $uri $uri/ =404;
#         ...
#     }
# }

  此时Typecho网站便搭建完成,你的小博客搭好啦


— 安装SSL证书 —


  这里我用的是CloudFlare的免费10年SSL,虽然主要是为了免费CDN加速
  注册和获取SSL文件请自行谷歌,这里只提供如何修改Nginx配置文件

# Cloudflare SSL
#1 下载 pem&key 传输至vps对应位置 /etc/ssl/certs/&/private/
#2 选择cloudflare crypto full(strict)
# 修改Nginx配置文件 
sudo nano /etc/nginx/sites-available/你的网站.com
#------------将内容修改如下--------------------
server {
        listen 80;
        server_name  www.你的网站.com;
        add_header Strict-Transport-Security max-age=15768000;
        return 301 https://www.你的网站.com;
}

server {
        listen 443 ssl http2;
        ssl on;
        ssl_certificate /etc/ssl/certs/你的网站.pem;
        ssl_certificate_key /etc/ssl/private/你的网站.key;
#--------------------------------------------
sudo nginx -t
# 显示成功便大功告成,重载Nginx服务
sudo systemctl reload nginx

  稍等片刻后,网站地址栏的左面便显示为绿色小锁啦

Tags: None