一个简单的配置实例
在/etc/nginx/conf.d创建配置文件www.baidu.com.conf
server {
# 在www.baidu.com的80端口监听
server_name www.baidu.com;
listen 80;
# 配置日志存储目录
access_log /var/log/nginx/www.baidu.com.access.log main buffer=16k;
error_log /var/log/nginx/www.baidu.com.error.log error;
# 根目录所在位置
location / {
root /usr/local/www.baidu.com/ui/;
index index.html;
}
}
/etc/nginx/nginx.conf文件
http {
proxy_buffering off;
# 定义日志的输出格式
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
# 允许请求的最大消息体
client_max_body_size 100M;
client_body_buffer_size 5M;
# 支持的文件mime类型
include /etc/nginx/mime.types;
default_type application/octet-stream;
include /etc/nginx/conf.d/*.conf;
}
注意 include /etc/nginx/conf.d/*.conf;这一行,在nginx加载配置文件默认是加载根目录下的nginx.conf,这一行会自动加载/etc/nginx/conf.d目录下的全部以.conf为后缀的配置文件,值得注意的是,该目录下的所有的配置均是在http节点下的,只有http节点下的配置才可以在该目录下的配置文件中配置。
location下root和alias的区别
设置http请求文件大小
location / {
client_max_body_size 30m;
}
proxy_pass服务转发
所在节点,server—>location
比如通过域名abc访问api服务,那么转发到内网的http://192.168.2.112/api/
location api {
proxy_pass http://192.168.2.112/api/;
}
root和alias
所在节点,server—>location
location /service {
root /usr/local/www;
index index.html;
}
location /service {
alias /usr/local/www;
index index.html;
}
相同的配置
root 访问的路径是/usr/local/www/service
alias访问的是/usr/local/www
常用的命令
1检查配置是否正确
nginx -t
2重新加载配置
nginx -s reload
// stop 停止, quit 退出, reopen 重新打开, reload重新加载配置
3查看当前生效的配置
nginx -T
4设置使用的配置文件
nginx -c configfile : (默认的配置文件: /etc/nginx/nginx.conf)