今天续了域名+1y,买了一年阿里云学生服务器(¥10/月),打算做自己的作品集网站了。
以前都是用node和express做http服务器的,想尝尝鲜用Nginx试试。
我的系统是Ubuntu 16.04,Nginx版本1.10.0,本教程只对该版本负责
安装Nginx
在终端输入$ apt install Nginx
基本操作指令
启动:$ Nginx
重启:$ Nginx -s reload
启动之后访问一下试试,应该能打开默认的Nginx页面
修改root文件夹
查看配置信息:$ Nginx -t
会返回配置信息的目录
Nginx: the configuration file /etc/Nginx/Nginx.conf Syntax is ok Nginx: configuration file /etc/Nginx/Nginx.conf test is successful
打开上面的文件:$ cd /etc/Nginx
看一下该目录下的文件:$ ls
,应该有一个sites-enabled
文件夹
进入这个文件夹:$ cd sites-enabled
里面应该有一个default文件,我们来编辑它$ vim default
把光标移动到root
这一行,按键盘上的字母i
进入编辑。把后面的目录改成你放网站的目录(注意需要用以/
开头的绝对位置),比如我的改成了root /root/luvsky.com;
按esc
退出编辑,输出:wq
保存并退出。
如果你和我一样把网站的文件放在了root目录下,或者访问出现了403错误,那么还要做下面这一步
进入/etc/Nginx
,编辑Nginx.conf文件:$ vim Nginx.conf
把第一行user www-data
改成user root
,保存退出
改完配置后需要重启:$ Nginx -s reload
至此你的http服务器就跑起来了
配置二级域名
如果你想要一个二级域名,比如你注册的域名是abc.com,而你想要一个play.abc.com或者portfolio.abc.com的域名,请看下去。
设置域名解析
首先在你的域名供应商处的设置相应的二级域名解析,比如我的域名是在腾讯云注册的,就去他那里设置。
比较偷懒的办法是设置泛解析,把*.luvsky.com的域名全部解析到服务器的公网ip上,具体哪个二级域名分配到那个文件,全部在Nginx里配置。
Nginx配置
打开/etc/Nginx/sites-enabled
,这个目录下的所有文件都默认被包含在Nginx.conf中,需要配置其它域名的时候直接往里面加文件就行了。
比如我在原来的luvsky.com根目录下新建了一个文件test.html作为二级域名test.luvsky.com的页面,那么该这样配置:
新建文件$ vim test.luvsky.com
,写入如下代码后保存退出
server { listen 80; server_name test.luvsky.com; index test.html; root /root/luvsky.com; }
重启服务,现在test.luvsky.com这个二级域名也可以访问了。