How to configure server block on Nginx

我的网站本来已经设置好了,只需要我复盘怎么做就可以了,结果我一不小心选择了重装……从头再来吧

以前我用的是Share Hosting来管理我的博客,之前的Share Hosting公司提供cPanel一键安装Wordpress和管理后台,可以说是非常的方便。但是Share Hosting并不能让我完全控制我自己的服务器。

OVH最近澳洲服务器做活动,$3/month的套餐已经非常符合我的需求,没有过多考虑我就先买了半年试试。这里说个题外话,如果不是价格因素我觉得大家可以不pass OVH了。首先购买它的服务器竟然需要手工verify,账户才能激活,大哥,这可是8012年了🙄其次他们的Knowledge Base几近于无。我问他们工作人员有没有一些参考文档的时候,他们工作人员让我自己Google……给你点赞哟🙂

Anyway,我的目标是主站使用Wordpress来管理我生活类的文章,subdomain用Hexo来管理技术相关的文章。由于Hexo使用Nginx服务器来驱动,我也就顺水推舟直接用Nginx来搭建Wordpress了。

前期准备工作

生成SSH Key(本文的全部安装都在Mac上完成)

打开Terminal

1
2
3
4
5
6
7
ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/aufomm/.ssh/id_rsa): /Users/aufomm/.ssh/id_rsa_test
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in id_rsa_test.
Your public key has been saved in id_rsa_test.pub.
把SSH公钥上传到Server Provider

SSH Key upload

在服务器上选择一个操作系统来安装

点击Reinstall my VPS

Snap1

选择你想要安装的操作系统,语言和你要安装进去的SSH Key就可以confirm开始安装了

Snap2

添加DNS记录,point主域名和辅域名到服务器

dns

安装服务器

SSH到远程服务器

打开Terminal并输入命令

1
2
3
4
5
ssh [email protected]
# 第一次链接会询问是否要把服务器记录到Known_Host里面Yes之后就可以登陆了
The authenticity of host 'aufomm.com (139.99.197.232)' can't be established.
ECDSA key fingerprint is SHA256:MLu4qyaF6yKXvfjNeYIhCkqiVj2hY0BJi6ztuwn7zEY.
Are you sure you want to continue connecting (yes/no)? yes

输入私钥的密码之后应该就可以登录到服务器。

成功登陆以后,我们先更新一下安装包,我安装的是Debian系统而且我是root登陆,所以可以不用打sudo直接在命令行输入

1
sudo apt-get update && sudo apt-get upgrade
安装Nginx
1
sudo apt-get install nginx

安装成功之后可以去你的网站,如果看到下面的图案说明安装成功

Nginx Welcome Page

创建网站文件夹
1
2
3
4
5
6
mkdir /var/www/html/aufomm.com
mkdir /var/www/html/hexo.aufomm.com
chmod -R 755 /var/www/html/aufomm.com/
chmod -R 755 /var/www/html/hexo.aufomm.com/
touch /var/www/html/aufomm.com/index.html
nano /var/www/html/aufomm.com/index.html

给这个简单的html文件一些内容

1
2
3
4
5
6
7
8
<html>
<header>
<title>This is title</title>
</header>
<body>
Hello world from Main Page
</body>
</html>

然后把同一个文件也复制到hexo.aufomm.com的文件夹

1
2
cp /var/www/html/aufomm.com/index.html /var/www/html/hexo.aufomm.com
nano /var/www/html/hexo.aufomm.com/index.html

把index.html稍作修改,我们稍后在测试server block的时候用得着。

1
2
3
4
5
6
7
8
<html>
<header>
<title>This is title</title>
</header>
<body>
Hello world from Hexo Page
</body>
</html>
配置Server Block

我们需要生成两个server block

1
nano /etc/nginx/sites-available/aufomm.com

这里我们简单写入一下代码

1
2
3
4
5
6
7
server{
listen 80;
server_name aufomm.com;

root /var/www/html/aufomm.com;
index index.html
}

同样的我们为Sub-domain也生成一个Server Block

1
nano /etc/nginx/sites-available/aufomm.com

内容如下

1
2
3
4
5
6
7
server {
listen 80;
server_name hexo.aufomm.com;

root /var/www/html/hexo.aufomm.com;
index index.html;
}

接下来我们把Server Block连到Site-Enable再重启服务器

1
2
3
ln -s /etc/nginx/sites-availabe/aufomm.com /etc/nginx/sites-enable/aufomm.com
ln -s /etc/nginx/sites-availabe/hexo.aufomm.com /etc/nginx/sites-enable/hexo.aufomm.com
systemctl restart nginx

如果主站和辅域名显示的内容不一样,我们就知道我们已经初步设置好我们的服务器了

下一篇我会讲解如何安装Wordpress