一个简单的配置实例

在/etc/nginx/conf.d创建配置文件www.baidu.com.conf

1 server {

2 # 在www.baidu.com的80端口监听

3 server_name www.baidu.com;

4 listen 80;

5 # 配置日志存储目录

6 access_log /var/log/nginx/www.baidu.com.access.log main buffer=16k;

7 error_log /var/log/nginx/www.baidu.com.error.log error;

8 # 根目录所在位置

9 location / {

10 root /usr/local/www.baidu.com/ui/;

11 index index.html;

12 }

13 }


/etc/nginx/nginx.conf文件

1 http {

2 proxy_buffering off;

3 # 定义日志的输出格式

4 log_format main '$remote_addr - $remote_user [$time_local] "$request" '

5 '$status $body_bytes_sent "$http_referer" '

6 '"$http_user_agent" "$http_x_forwarded_for"';

7 access_log /var/log/nginx/access.log main;

8 sendfile on;

9 tcp_nopush on;

10 tcp_nodelay on;  

11 keepalive_timeout 65;

12 types_hash_max_size 2048;

13 # 允许请求的最大消息体

14 client_max_body_size 100M;

15 client_body_buffer_size 5M;

16 # 支持的文件mime类型

17 include /etc/nginx/mime.types;

18 default_type application/octet-stream;

19 include /etc/nginx/conf.d/*.conf;

20 }

注意 include /etc/nginx/conf.d/*.conf;这一行,在nginx加载配置文件默认是加载根目录下的nginx.conf,这一行会自动加载/etc/nginx/conf.d目录下的全部以.conf为后缀的配置文件,值得注意的是,该目录下的所有的配置均是在http节点下的,只有http节点下的配置才可以在该目录下的配置文件中配置。

location下root和alias的区别

设置http请求文件大小

1 location / {

2 client_max_body_size 30m;

3 }

proxy_pass服务转发

所在节点,server—>location

比如通过域名abc访问api服务,那么转发到内网的http://192.168.2.112/api/

1 location api {

2 proxy_pass http://192.168.2.112/api/;

3 }

root和alias

所在节点,server—>location

1 location /service {

2 root /usr/local/www;

3 index index.html;

4 }


1 location /service {

2 alias /usr/local/www;

3 index index.html;

4 }


相同的配置

root 访问的路径是/usr/local/www/service

alias访问的是/usr/local/www

常用的命令

1检查配置是否正确

1 nginx -t


2重新加载配置

1 nginx -s reload

2 // stop 停止, quit 退出, reopen 重新打开, reload重新加载配置


3查看当前生效的配置

1 nginx -T


4设置使用的配置文件

nginx -c configfile : (默认的配置文件: /etc/nginx/nginx.conf)