blog搭建小记。
基础环境搭建
最初由于使用 root 账号+简单密码 ssh 服务器,导致第二天收到tx云报警,该服务器已被暴力破解,最终无奈重装系统。
不要使用 root 用户 ssh 服务器,创建一个全新的用户,且加大密码复杂度。(关于构建一套个人密码管理系统,有望后续撰写一篇blog,此处留坑。)
1 | sudo su //切换root用户获取创建用户的权限 |
2 |
|
3 | useradd hello |
4 | passwd world |
5 |
|
6 | usermod -s /bin/bash hello //为用户指定shell |
7 | usermod -d /home/hello hello //为用户指定用户目录 |
8 |
|
9 | cat /etc/passwd //查看用户属性 |
10 |
|
11 | su hello //切换用户 |
go语言环境搭建
在go语言官网下载对应安装包。
1 | wget https://dl.google.com/go/go1.14.4.linux-amd64.tar.gz |
解压到/usr/local
目录下,进入该目录下的go目录里,检查是否能正常执行显示go版本。
1 | tar -C /usr/local -zxf go1.14.4.linux-amd64.tar.gz |
2 |
|
3 | cd /usr/local/go |
4 |
|
5 | bin/go version |
6 | go version go1.14.4linux/amd64 |
配置环境变量
使用vim /etc/profile
命令打开profile文件,在文件末尾处添加环境变量。
1 | export GOROOT=/usr/local/go |
2 | export PATH=$PATH:$GOROOT/bin |
3 |
|
4 | source /etc/profile |
在对应用户目录下配置go语言工作环境,go nev
查看配置。
1 | mkdir go |
2 | export GOROOT=/usr/local/go |
3 | export GOPATH=$home/go |
4 | export PATH=$PATH:$GOROOT/bin:$GOPATH |
5 | export GOPROXY=https://goproxy.cn //添加国内代理 |
6 | source .profile |
7 |
|
8 | go env |
Nginx搭建及基本使用
安装依赖库
1 | sudo apt-get update |
2 | sudo apt-get install build-essential |
3 | sudo apt-get install libtool |
4 | sudo apt-get install libpcre3 libpcre3-dev zlib1g-dev openssl |
安装nginx
1 | wget http://nginx.org/download/nginx-1.14.2.tar.gz |
2 |
|
3 | tar -zxvf nginx-1.14.2.tar.gz |
4 |
|
5 | cd nginx-1.14.2 |
6 |
|
7 | ./configure --prefix=/usr/local/nginx |
8 |
|
9 | make && make install |
nginx启动与停止
1 | cd /usr/local/nginx/sbin |
2 | ./nginx |
3 | ps -aux |grep nginx |
4 | netstat -nltp |
5 | ./nginx -s stop |
6 | ./nginx -s quit |
7 | kill nginx 主进程pid |
8 | killall nginx |
创建软连接后在任意目录下使用nginx
1 | echo $PATH |
2 | ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/nginx |
Hugo从入门到会用
下载 Hugo (建议带extended的安装包)对应安装包。
解压拷贝至/usr/local/bin
目录下
1 | tar -zxvf hugo_extended_0.72.0_linux-64bit.tar.gz |
2 | cp hugo /usr/local |
3 | hugo version //验证是否安装成功 |
建站
添加一个主题
1 | cd myblog |
2 | git clone https://github.com/olOwOlo/hugo-theme-even themes/even |
编辑主题配置文件config.toml
,在主题的exampleSite
里有主题相关的配置,可以拷贝出来,自定义修改。
开始写作,文件开头一般有draft: true
表示,该文件当前为草稿,如需发布,需要将true
改为false
即可。
1 | hugo new post/1-first.md |
一般情况下执行hugo server -D
开启内置服务器,即可在http://localhost:1313/
开启了。由于我们是在云服务器上,使用hugo server --baseURL=http://atticuslab.com --bind= -w
该命令动态查看网站效果。
设置nginx访问配置文件
hugo执行hugo
命令后,博客相关的文件都保存在对应的/public/
目录下,我们需要配置 nginx 可访问 public 目录即可。修改/usr/local/nginx/conf/nginx.conf
配置文件,如果是root权限启动,需要添加user root;
,对/xxxx/myblog/public
文件添加可访问权限chmod -R 777 /*
,重启nginxnginx -s reload
,在浏览器里访问你的blog吧。
1 | user root; |
2 | ... |
3 | http { |
4 | ... |
5 | server{ |
6 | listen 80; |
7 | server_name xxxx; |
8 | rewrite ^(.*) https://$server_name$1 permanent; |
9 | } |
10 |
|
11 | server{ |
12 | listen 443; |
13 | server_name xxxx; |
14 | charset utf-8; |
15 |
|
16 | ssl_certificate xxx.crt; |
17 | ssl_certificate_key xxxx.key; |
18 | ssl_session_timeout 5m; |
19 |
|
20 | ssl_protocols TLSv1 TLSv1.1 TLSv1.2; |
21 |
|
22 | ssl_ciphers xxxxxxxxxxxxxxx; |
23 | ssl_prefer_server_ciphers on; |
24 |
|
25 | location / { |
26 | root /xxx/xxx; |
27 | index index.html index.htm; |
28 | } |
29 | } |
30 | } |