前言
本来是想把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
访问博客地址,开始安装
- 我准备好了, 开始下一步 »
- 数据库选择sqlite
- 设置站点链接(站点主页的链接,如果设置不对可能会导致后面部分设置出错,设置之后可以在博客设置里重新修改)、用户名、密码、邮箱
当看到安装成功的标志,就代表已经可以正常使用博客了
访问https://blog.8-bit.work:10000就可以看到博客了
访问https://blog.8-bit.work:10000/admin/就可以来到博客的后台页面,对文章、博客设置进行管理了
Enjoy Your Blog!