一、配置文件的语法格式:
先来看一个简单的nginx 配置
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
location /nginx_status {
stub_status on;
access_log off;
}
}
}
上述配置中的events、http、server、location、upstream等属于配置项块。而worker_processes 、worker_connections、include、listen 属于配置项块中的属性。 /nginx_status 属于配置块的特定参数参数。其中server块嵌套于http块,其可以直接继承访问Http块当中的参数。
配置块 名称开头用大括号包裹其对应属性
属性 基于空格切分属性名与属性值,属性值可能有多个项 都以空格进行切分
参数 其配置在 块名称与大括号间,其值如果有多个也是通过空格进行拆
二、配置第一个静态WEB服务
1.创建站点目录
mkdir -p /usr/www/snowman
2.编写静态文件
echo 'the first static site' > first.html
3.配置 nginx.conf
配置server和location
在nginx.conf中原本就存在server,可以重新配置一个同级别的server,多个同端口的server保证server_name不相同就行了,这里就直接演示原本配置的server就好了
在这里情境下
- “location /”匹配输入改虚拟机ip的请求;
- “root /usr/www/snowman”表示到/usr/www/snowman路径下去找文件;
- “index first.html”表示如果请求没有制定文件就用改默认文件。
(注:如果local /后面还加路径,会被加到root后面,例:local /aaa,那么在找的时候就找/usr/www/snowman/aaa)
保存退出,./sbin/nginx -s reload重载
输入虚拟机IP进行访问就能访问到刚刚建立的那个html
三、基本配置介绍说明
1.监听端口
语法:listen address:
默认:listen 80;
配置块:server
2.主机名称
语法:server_name name[……];
默认:server_name “”;
配置块:server
server_name后可以跟多个主机名称,如server_name www.aaa.com、bbb.aaa.com;
。 支持通配符与正则
3.location
语法:location[=|~|~*|^~|@]/uri/{……}
配置块:server
- / 基于uri目录匹配
- =表示把URI作为字符串,以便与参数中的uri做完全匹配。
- ~表示正则匹配URI时是字母大小写敏感的。
- ~*表示正则匹配URI时忽略字母大小写问题。
- ~表示正则匹配URI时只需要其前半部分与uri参数匹配即可。
如需上云,可考虑如下阿里云服务器,活动有优惠。
阿里云服务器:活动地址
购买可领取:阿里云代金券
购买前可以测一下阿里云哪个节点的云服务器速度快:https://ping.gaomeluo.com/aliyun/