阿里云ECS中默认是安装了Nginx 1.6.0的。
- 登录ESC
$ ssh root@[ESC IP地址]
root@[ESC IP地址]'s password: // 输入密码
Welcome to aliyun Elastic Compute Service!
Last login: Mon Jul 31 21:09:10 2017 from 210.13.77.213
- apt-get安装Nginx
apt-get install nginx
- Nginx目录
Nginx安装完成后,cd
切入到/etc/nginx
目录下有Nginx的所有文件。
sites-enabled/ // 可添加新配置项
sites-available/ // 在需要建立和管理多个站点的时候非常有用,可以帮助更好的组织不同的项目
只有在sites-enabled
目录下的配置文件才能够真正被访问,但是可以将文件放在sites-available
目录下用来存档或生成链接:
ln -s /etc/nginx/sites-available/test /etc/nginx/sites-enabled/test
- Nginx配置静态服务器
- 在sites-enabled目录下创建一个新的空白文档,命名为test
- Nginx配置文件格式,顶层server:
--------------------------------------------------------------------------------
- 顶级节点
server {
}
所有配置变量指令都在该花括号内编写。
- listen
声明服务器监听的端口号,互联网默认80。
- server_name
主要用来匹配url地址。
1] 支持设置子域名
2] 可以使用通配符或正则匹配路由
- root
托管静态站点的最关键部分,定义静态资源存放的路径
- location
location接受两个参数,一个字符串或正则和一段代码。
字符串或正则用于匹配某个特定的目录。
如只访问root目录,只需要加上'/'。`/`会匹配所有的url地址,如果只想匹配某个准确的字符串,只需要在前面加上一个等号:
location = / { ... }
- location > try_files
try_files接受一组文件名或正则,用于在根目录下查找,并加载查找到的第一个结果。
location / {
try_files $url $url/ /index.html // $url是Nginx提供的,每次有请求时,Nginx会生成一系列变量,存储请求的相关信息。[优先查找顺序]
}
--------------------------------------------------------------------------------
一个简单的配置文件如下:
server {
listen 80;
server_name 域名地址;
root /var/www/指向目录;
location / {
try_files $url $url/ /index.html; // 访问规则
}
}
在Nginx运行时,会查找/etc/sites-enabled
目录下的所有
配置文件用于显示对应内容。完成新的配置时,需要重启服务器:
sudo service nginx reload
// 这里的service实际是调用了配置文件里的内容,这些都是在使用apt时被生成的,实际调用的是/etc/init.d/nginx reload
- 检测配置文件是否有错误
root@[ESC实例]:~# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
- 查看Nginx服务状态
service nginx status
把default中的默认80改掉,如果报错已被占用的情况下。
官方文档地址:http://nginx.org/en/docs/dirindex.html