Featured image of post 瞎建一个Typecho博客

瞎建一个Typecho博客

完全没有前端经验的我到底是如何从头搭建一个Typecho博客的?

服务器

选用的是🐧校园云的轻量应用服务器 (腾讯打钱)。目测是没活动时候最划算的。~~当然,建站只是买服务器目的之一。~~同时买个域名,也在🐧云。之后在DNSPod里单击解析,在新的页面内单机快速添加网站/邮箱解析。新手快速添加立即设置网站解析,输入自己服务器的IP地址即可。 申请一个免费的SSL证书。 该备案的备案,过个廿天左右大概就有备案号了。(人工审核真实尬死了)

配置Nginx+Sqlite3+php

先安装php8

sudo yum -y install epel-release
sudo yum -y install https://mirrors.aliyun.com/remi/enterprise/remi-release-7.rpm
sudo yum-config-manager --enable remi-php80
sudo yum -y install php php-fpm php-devel php-sqlite3
sudo systemctl enable php-fpm
sudo systemctl start php-fpm

改一下/etc/php-fpm.d/www.conf,修改下面几行

; RPM: apache user chosen to provide access to the same directories as httpd
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx
...
listen = /run/php-fpm.sock ;改成你喜欢的目录也行,下面要用
...
;listen.owner = nobody
;listen.group = nobody
listen.mode = 0666

接下来是

sudo yum -y install nginx sqlite

用yum安装nginx和sqlite,然后进入/etc/nginx目录。下载上一步申请的证书,解压之后将Nginx文件中的.crt和.key文件上传到服务器目录(ftp/scp)。然后痛苦的配置nginx.conf(用自己喜欢的编辑器,如果没有就用nano,实在不行下载下来再上传)。

sudo systemctl enable nginx
sudo systemctl start nginx

在http大括号里的server大括号,把server_name后面换成自己的域名。下一行加入return 301 https://$server_name$request_uri;将http自动跳转至https。 往下拉,把Settings for a TLS enabled server.以下的注释取消,删除前面的#号。同样改一下server_name,记录一下root后面的目录,我这里是/usr/share/nginx/html。在server大括号里面添加

ssl_certificate 上传的.crt文件名;
ssl_certificate_key 上传的.key文件名;
if (!-e $request_filename) { #伪静态
    rewrite ^(.*)$ /index.php$1 last;
}

location / {
        index index.php;
}

location ~ .*\.php(\/.*)*$ { # 告诉服务器如何处理.php后缀
       fastcgi_pass  unix:/run/php-fpm.sock; #之前设置的
       fastcgi_index  index.php;
       fastcgi_split_path_info ^(.+?.php)(/.*)$;
       set $path_info "";
       set $real_script_name $fastcgi_script_name;
       if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
               set $real_script_name $1;
               set $path_info $2;
       }
       fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
       fastcgi_param SCRIPT_NAME $real_script_name;
       fastcgi_param PATH_INFO $path_info;
       include        fastcgi_params;
}

在shell里输入

nginx -t //检查配置
nginx -s reload //重启服务

在上面记录的目录,也就是/usr/share/nginx/html,创建一个info.php,输入<?php echo phpinfo(); ?>,保存之后在浏览器里输入自己的域名/info.php,如果看到类似phpinfo(偷的aliyun的)说明成功了。

建立typecho博客

先在设立了里输入sudo chmod -R 777 /usr/share/nginx/html给文件夹权限。在Typecho官网下载测试版(一定是测试版,稳定版不支持php8),将里面所有文件和文件夹上传至/usr/share/nginx/html目录,在浏览器中输入你的域名/install.php,然后跟着官方Wiki走就完全OK了,记得数据库选择Pdo驱动的Sqlite3.0。

配置博客

主题把解压后的文件夹放/usr/share/nginx/html/usr/themes/目录,插件把解压后的文件夹放/usr/share/nginx/html/usr/plugins/目录。 在主题里设置一下自己的备案号,设置-永久链接设置内打开地址重写功能,强制启用。其他的随性设置一下。 推荐一下bLue大佬开发的开发的AutoLatex插件,写公式必备。 顺便一提阿里的矢量图形库蛮好用的,可以给网站上一个Favicon

Licensed under CC BY-NC-SA 4.0
使用 Hugo 构建
主题 StackJimmy 设计