服务端开发实战

阿里云ECS初体验(3) — Nginx安装与配置

2017-08-02  本文已影响164人  守心向暖

阿里云ECS中默认是安装了Nginx 1.6.0的。

$ 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 install nginx
sites-enabled/      // 可添加新配置项
sites-available/     // 在需要建立和管理多个站点的时候非常有用,可以帮助更好的组织不同的项目

只有在sites-enabled目录下的配置文件才能够真正被访问,但是可以将文件放在sites-available目录下用来存档或生成链接:

ln -s /etc/nginx/sites-available/test /etc/nginx/sites-enabled/test
- 在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
service nginx status

把default中的默认80改掉,如果报错已被占用的情况下。
官方文档地址:http://nginx.org/en/docs/dirindex.html

上一篇下一篇

猜你喜欢

热点阅读