Ubuntu通过lnmp安装typecho

前言

本来是想把1C1G的机器单纯的用来放静态网页的,但是由于服务商的防火墙策略,我的cdn回源流量直接被拦截下来了,发起工单,客服那边也只是表示是阿里的防火墙,他们也没法配置

由于机器本身是nat主机,无法使用80和443端口,就只能使用非标准端口进行访问,那就拿他整个typecho吧

准备lnmp安装包

lnmp可以进行编译安装,也可以通过官网下载整合包

由于机器的性能并不是很富裕,所以我们就直接去官网下载整合包

官网下载页地址:https://www.lnmp.org/download.html

注:整合包内不含mysql的二进制包

不过由于机器性能的限制,本次安装打算使用sqlite以减轻系统负担

可以在下载完毕后,通过scp命令上传安装包

scp lnmp2.1-full.tar.gz nat:~/Downloads

也可以直接下载安装包

wget https://soft.lnmp.com/lnmp/lnmp2.1-full.tar.gz

或使用curl命令下载

curl https://soft.lnmp.com/lnmp/lnmp2.1-full.tar.gz -o lnmp2.1-full.tar.gz

安装lnmp

解压lnmp安装包

使用下面的命令解压lnmp安装包

tar zxvf lnmp2.1-full.tar.gz

安装lnmp

cd lnmp2.1-full
sudo ./install.sh

然后按照安装脚本内的提示一步一步进行安装即可

其中,php我们可以选择8.2.19

安装过程会持续很久,可以挂在那里,先去做些别的事情

安装完毕后,会有提示

Install lnmp V2.1 completed! enjoy it.

安装typecho

lnmp新增vhost

lnmp vhost add

按照脚本提示,新增虚拟主机(站点)
脚本中的输入输出对Windows下的某些ssh远程工具的兼容性不是很好,输入内容尽量一次性成功,对于类Unix系统的兼容性比较良好

Please enter domain(example: www.lnmp.org): blog.8-bit.work
 Your domain: blog.8-bit.work
Enter more domain name(example: lnmp.org sub.lnmp.org):
 domain list: blog.8-bit.work
Please enter the directory for the domain: blog.8-bit.work
Default directory: /home/wwwroot/blog.8-bit.work:
Virtual Host Directory: /home/wwwroot/blog.8-bit.work
Allow Rewrite rule? (y/n) y
Please enter the rewrite of programme,
wordpress,discuzx,typecho,thinkphp,laravel,codeigniter,yii2,zblog rewrite was exist.
(Default rewrite: other): typecho
You choose rewrite: typecho
Enable PHP Pathinfo? (y/n) y
Enable pathinfo.
Allow access log? (y/n)
Disable access log.
Enable IPv6? (y/n)
Disabled IPv6 Support in current Virtualhost.
Add SSL Certificate (y/n) y
1: Use your own SSL Certificate and Key
2: Use Let's Encrypt to create SSL Certificate and Key
3: Use BuyPass to create SSL Certificate and Key
4: Use ZeroSSL to create SSL Certificate and Key
Enter 1, 2, 3 or 4: 1
Please enter full path to SSL Certificate file: /root/.acme.sh/bitnet.fun_ecc/fullchain.cer
Please enter full path to SSL Certificate Key file: /root/.acme.sh/bitnet.fun_ecc/bitnet.fun.key
Using 301 to Redirect HTTP to HTTPS? (y/n) y

其中伪静态要选择typecho,Pathinfo要选择Enable,否则在后面访问时可能会遇到问题

将域名解析到对应主机

我希望我的typecho地址是blog.8-bit.work

如果是固定ip的云服务器,可以直接在8-bit.work的域名记录中添加一条A记录,主机名为blog记录值为机器的ip地址

如果是非固定ip的云服务器或者固定ip但是之前已经有过域名记录的服务器,则可以在域名记录中添加一条CNAME记录,主机名为blog记录值为其它指向机器ip的域名

CNAME的域名解析记录解析方式为

a.xx.com --A记录——> 111.222.333.444

b.xx.com --CNAME记录--> a.xx.com

当请求b.xx.com时,会先找到CNAME的目标是a.xx.com,再解析出来a.xx.com是A记录指向111.222.333.444,最终将请求发送到111.222.333.444

测试访问

这时,访问https://blog.8-bit.work(因为我这是nat主机,所以需要访问nat转发出来的对应端口,例如,我将443端口nat转发到了10000端口,则应该访问https://blog.8-bit.work:10000,除了访问时要加端口号,其它一切和443端口一样)会出现403 Forbidden,不过不用担心,只要没有报链接不安全或者出现页面没有响应的情况就可以

tips:只有能访问到的页面才会给你返回状态码,即使状态码是报错,也说明了这次请求已经被目标服务器收到并处理了

下载typecho安装包

根据上面我们的安装步骤,我们的vhost根目录在/home/wwwroot/blog.8-bit.work,我们需要将typecho的文件放到这个目录下

由于typecho的安装包是放在github的,所以也可以先下载到本机,再上传到云服务器

scp typecho.zip nat:~/Downloads

解压typecho

typecho的压缩文件是.zip文件,那么我们需要使用unzip进行解压,部分机器上可能没有unzip,可以通过下面的命令安装

sudo apt install -y unzip

使用下面命令将typecho解压到vhost根目录

unzip ~/Downloads/typecho.zip -d /home/wwwroot/blog.8-bit.work

这个时候直接访问博客链接是已经可以访问了的,但是当我们开始安装的时候,会报错

上传目录无法写入, 请手动将安装目录下的 /usr/uploads 目录的权限设置为可写然后继续升级

其实这是因为nginx和php默认是使用 www-data www的用户权限进行操作的,所以我们需要将vhost下面的文件所有者重置为www

sudo chown -R www:www /home/wwwroot/blog.8-bit.work

当我们上传了插件、主题之后,不要忘了进行相同的操作,不然可能会导致部分设置失效

安装typecho

访问博客地址,开始安装

  1. 我准备好了, 开始下一步 »
  2. 数据库选择sqlite
  3. 设置站点链接(站点主页的链接,如果设置不对可能会导致后面部分设置出错,设置之后可以在博客设置里重新修改)、用户名、密码、邮箱

当看到安装成功的标志,就代表已经可以正常使用博客了

访问https://blog.8-bit.work:10000就可以看到博客了

访问https://blog.8-bit.work:10000/admin/就可以来到博客的后台页面,对文章、博客设置进行管理了

Enjoy Your Blog!

——END——
评论区
头像
文章目录