ubuntu16.04 install nginx
$sudo apt-get update && sudo apt-get dist-upgrade && sudo apt-get autoremove
After that, run the commands below to install Nginx
sudo apt-get install nginx
nginx config
启动:$ nginx
重启:$ nginx -s reload
修改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这个二级域名也可以访问了。
让nginx显示文件夹目录
vi /etc/nginx/conf.d/default.conf
添加如下内容:
location / {
root /data/www/file //指定实际目录绝对路径;
autoindex on; //开启目录浏览功能;
autoindex_exact_size off; //关闭详细文件大小统计,让文件大小显示MB,GB单位,默认为b;
autoindex_localtime on; //开启以服务器本地时区显示文件修改日期!
}
不过有个缺点:
html文件的抬头写的是Index of /dns/log/
还有一个问题是这里开启的是全局的目录浏览功能,那么如何实现具体目录浏览功能呢?
- 只打开网站部分目录浏览功能
只打开
http://www.**.com/soft 目录浏览
vi /usr/local/nginx/conf/nginx.conf #编辑配置文件,在server {下面添加以下内容:
location /soft {
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
}
:wq! #保存,退出