1. 配置文件路径
(env) [root@centos nginx]# cd /etc/nginx/
(env) [root@centos nginx]# ls
conf.d koi-utf mime.types nginx.conf uwsgi_params
fastcgi_params koi-win modules scgi_params win-utf
2. nginx.conf 全局配置文件
# 运行用户
user root;
worker_processes 1;
# 错误日志路径
error_log /var/log/nginx/error.log warn;
# pid 路径,用来查看进程号
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
# 支持的文件类型
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
# nginx 全局错误日志路径
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
# 其他配置
# 例如监听不同的端口号做不同的配置,可以将不同的配置放置在conf.d文件夹下
# 查找所有以 .conf 结束的配置文件
include /etc/nginx/conf.d/*.conf;
}
3. conf.d 不同环境配置文件存放位置
4. 虚拟主机静态文件访问<conf.d 文件夹下的配置>
通过nginx访问静态文件配置,均是在server模块中配置,有两种方式:
1、alias
通过alias关键字,重定义路径,如
server{
listen 7001;
server_name 127.0.0.1;
location /file/ {
alias /home/china/areas/;
}
}
此时,通过浏览器访问http://127.0.0.1:7001/file/t.txt,则访问服务器的文件是/home/china/areas/t.txt
2、root
通过root关键字,重定义路径,如
server{
listen 7002;
server_name 127.0.0.1;
location / {
root /home/china/areas/;
}
}
此时,通过浏览器访问http://127.0.0.1:7001/t.txt,则访问服务器的文件是/home/china/areas/t.txt
上述两种方法均可达到目的,区别是它们对路径的解析方式不同,alas会把指定路径当作文件路径,
而root会把指定路径接到文件路径,再进行访问。
5. 虚拟主机配置参数说明<conf.d 文件夹下的配置>
#设定虚拟主机配置
server {
#侦听80端口
listen 80;
#定义使用 www.nginx.cn访问,也可以使用外网IP
server_name www.nginx.cn;
#定义服务器的默认网站根目录位置
root html;
#设定本虚拟主机的访问日志
access_log logs/nginx.access.log main;
#默认请求
location / {
#定义首页索引文件的名称
index index.php index.html index.htm;
}
# 定义错误提示页面
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
#静态文件,nginx自己处理
location ~ ^/(images|javascript|js|css|flash|media|static)/ {
#过期30天,静态文件不怎么更新,过期可以设大一点,
#如果频繁更新,则可以设置得小一点。
expires 30d;
}
#PHP 脚本请求全部转发到 FastCGI处理. 使用FastCGI默认配置.
location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
#禁止访问 .htxxx 文件
location ~ /.ht {
deny all;
}
}
6. django 虚拟主机配置参数说明<conf.d 文件夹下的配置>
server {
#虚拟主机监听端口号
listen 8002;
#虚拟主机 监听IP
server_name 你的外网IP;;
root html;
#charset koi8-r;
#虚拟主机日志打印路径
access_log /root/python/source-alpha/product/logs/host.access.log main;
#虚拟主机所有拦截交给 django 处理
location / {
include uwsgi_params;
#注意,此处IP和端口号要与 django 启动服务IP和端口号一至
uwsgi_pass 172.16.0.4:8001;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
# 设置Django 静态文件访问
location /static/ {
alias /root/python/product/static/;
#index index.html index.htm;
}
# 设置Django 静态文件访问
location /files/ {
alias /root/python/product/files/;
}
}