博客搭建&科学上网记录

发布于 2020-02-28  486 次阅读


购买VPS

VPS:virtual private server,虚拟专用服务器,是将一台服务器分割成多个虚拟专享服务器的服务,主要使用技术有容器技术和虚拟机技术。捣鼓前被虚拟主机、独立服务器、VPS弄得懵逼,考虑到搭建博客的同时可以科学上网,顺便熟悉下linux加上考虑价格,最终选择了其实是懒得折腾VPS,常见的VPS供应商有Linode,Vultr,搬瓦工,谷歌云,阿里云,腾讯云等,如果想要顺带科学上网,注意选择在国外的VPS(能科学上网,前提是需要一张双visa或者mastercard),我用的Linode第一次注册会有优惠码,记得不要漏了。
2020/5/26 更新
VPS可以给RSS提供云服务(Tiny Tiny RSS), 自动同步和刷新RSS内容。这里安利一波RSS,主动获取信息,没有信息轰炸,简单的世界。本人:(mac+ios:Reeder)+(Tiny Tiny RSS云服务)

部署VPS

特别注意VPS的地区选择,我在第一次选择美国德州的一个IP后,发现被墙了,然后只能rebuild;保险起见可以多测试几次IP(日本、新加坡、美国、悉尼,注意多次创建系统的收费规则,一般按实例小时收费)(测试1:国内国外全红--机器没开,国外全绿国内全红--被墙了,正常应该是国外全绿国内红绿相间绿色多点、测试2:ping测试分别测试国际和非国际的速度),然后找一个相对好的(被墙的就不要了),都说tokyo的人用的多容易被墙,可是最后试了几个还是tokyo的好点。出于熟悉选择了centos,创建实例后(设置的linux的root密码一定要记住),你就拥有租用一台自己的服务器啦

博客搭建

博客平台选择

现在的博客平台挺多:
- wordpress:成熟老练资源多,搭建方便不费脑但是显得臃肿一点
- hexo:静态博客托管github,不用单独的服务器,轻量、极客,markdown编写,对技术要求高点
- typecho:没特别了解过,据说可以理解成轻量简洁版的wordpress
嗯,为了不浪费VPS(还要科学上网嘛),同时以博客能用就行的原则,最好安装方便其实还是懒,就选择了wordpress

远程登陆

ssh root@45.33.5.90

这里的ip改成你的ip地址,远程操作你的VPS的时候,会有一点点延迟感甚至直接掉线,不同运营商网络的延迟还不一样(我的用联通的最稳定最快),所以在操作你的VPS的时候强烈推荐使用screen

yum install screen

screen可以保证断线了还能回到之前操作的界面

# 创建一个screen窗口lnmp
screen -S lnmp
# 显示当前有的screen窗口,会有对应的进程号pid
screen -ls
# 若该pid的screen状态为Detached(正常退出),切换到pid的screen
screen -r [pid]
# 若该pid的screen状态为Attached(断线),则需要使用如下命令
screen -D -r [pid]

正常退出并保存screen:ctrl+a,再按d
杀掉当前screen:ctrl+a,再按k,选择yes

lnmp

安装wordpress前服务器需要安装相应的前端环境和数据库环境。lnmp是linux、nginx、mysql/mariadb、php的简称,本着对前端一窍不通的原则,越方便越好还有个lamp,a代表apache,我随便选了,安装按照官网安装就行(中间mysql的root密码一定要记住),需要注意的是如果你有提前想安装的wordpress主题,同时主题要求了一些软件的版本的话,在安装lnmp的时候就要选择对应软件的版本。
安装完lnmp后,需要在mysql中创建wordpress数据库以及wordpress访问数据库的用户和权限。
在vps中以root账户登陆mysql:

mysql -u root -p

然后创建wordpress数据库:

CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

创建访问wordpress数据库的用户wpuser:

GRANT ALL ON wordpress.* TO 'wpuser'@'localhost' IDENTIFIED BY 'password';

这里用自己设置的密码替换password。
最后刷新权限:

FLUSH PRIVILEGES;

最后exit退出即可。

wordpress

下载最新的wordpress版本:

wget https://wordpress.org/latest.tar.gz

解压文件:

tar xzvf latest.tar.gz

/home/wwwroot/下创建Wordpress文件夹,同时拷贝wordpress文件夹中所有的内容至 /home/wwwroot/,这个目录是安装lnmp时nginx默认网站目录的父项:

cd /home/wwwroot
mkdir wordpress
cp -
cp -a ./wordpress/. /home/wwwroot/wordpress

更改wordpress文件夹的权限(配合之后wordpress配置文件一起防止后端管理博客时出现FTP验证)

chmod -R 777 ./wordpress

我们这里更改nginx配置文件使默认网站目录为/home/wwwroot/wordpress

vim /usr/local/nginx/conf/nginx.conf

替换配置文件中的 /home/wwwroot/default/home/wwwroot/wordpress
最后配置wordpress的配置文件:

cp /home/wwwroot/wordpress/wp-config-sample.php /home/wwwroot/wordpress/wp-config.php

从WordPress密钥生成器中获取安全值:

curl -s https://api.wordpress.org/secret-key/1.1/salt/ > key.txt
vim /home/wwwroot/wordpress/wp-config.php

修改对应的数据库名,用户,密码,key值,以及加上define("FS_METHOD", "direct");(配合前面更改wordpress文件夹权限防止FTP验证)

/** The name of the database for WordPress */
define( 'DB_NAME', 'wordpress' );

/** MySQL database username */
define( 'DB_USER', 'wpuser' );

/** MySQL database password */
define( 'DB_PASSWORD', 'yourpassword' );

define("FS_METHOD", "direct");
define('AUTH_KEY',         '');
define('SECURE_AUTH_KEY',  '');
define('LOGGED_IN_KEY',    '');
define('NONCE_KEY',        '');
define('AUTH_SALT',        '');
define('SECURE_AUTH_SALT', '');
define('LOGGED_IN_SALT',   '`)>');
define('NONCE_SALT',       '');

到这里wordpress就安装配置完成了,在浏览器中输入你的IP地址就可以设置wordpress了。

主题选择

感谢Mashiro主题Sakura,免费开源作者简直不能再无私。

插件安装

后续根据需求补充,暂时只安装了WP Editor.md和WP Statistics。

开始你的写作

编辑菜单,分类目录,标签,页面,然后就可以开时写作之旅了。(边用边捣鼓了

2020/5/26 更新
wordpress设置伪静态后,可以更改固定链接的格式
1. 在/usr/local/nginx/config/下新建wordpress.conf

rewrite ^/(.*).html$ /$1;
location / {
    index index.php;
    if (-f $request_filename/index.php){
            rewrite (.*) $1/index.php;
    }
    if (!-f $request_filename){
            rewrite (.*) /index.php;
    }
}
  1. 编辑nginx.conf
    root /home/wwwroot/wordpress;下新增
    include wordpress.conf;
  2. 重启nginx
    /etc/init.d/nginx restart

购买域名

很少有人会直接用IP来访问自己的博客,域名更有意义也更好记,万一哪天自己的IP挂了还可以更改域名对应的IP,同时可以隐藏IP更加安全,注意续费价格就好,很多域名供应商也自带域名解析服务。

科学上网

先后使用过蓝灯,jiji的一些服务,免费的付费的都有,然而用的人多就会慢不稳定(知道的比较火的就容易被封,冷门的你也不容易知道),索性就自己搞了。服务器客户端配置参考了这篇文章ss安装部分(2020年2月26日,centos7,Linode nananode,tokyo2节点可用),个人使用客户端可以从这里下载,IOS客户端使用国外apple账户下载shadowsocks或者quantumult等。

2020/5/26 更新
结合能刷系统的路由器(网件,华硕等),在安装shadowsocks插件后,能实现wifi自动翻墙,这样就不用给每个终端单独配置了。

感谢

在整个捣鼓的过程中感谢以下参考资料的作者的无私奉献
- 完整博客搭建流程与我的新博客
- 如何在Centos7上安装使用Nginx的wordpress
- 科学上网
- 聊聊我的科学上网-VPS篇