nginx python Django 集成总结之-nginx配置

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/;
        }


    }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏从零开始学自动化测试

Selenium2+python自动化3-解决pip使用异常

一、pip出现异常 有一小部分童鞋在打开cmd输入pip后出现下面情况:Did not provide a command ? Did not provide...

377100
来自专栏FreeBuf

Cookiel劫持测试工具 – Cookie Injecting Tools

Cookie Injecting Tools 是一款简单的开源cookie利用工具,是Chrome浏览器上开发的一个扩展插件,能够灵活地进行SQL注入测试,编辑...

28870
来自专栏有趣的django

10.Flask上下文

 应用上下文和请求上下文都是存放在一个‘LocalStack’的栈中,和应用app相关的操作就必须要用到应用上下文,比如通过current_app获取当前的这个...

10510
来自专栏IT笔记

Nginx参数配置说明

#运行用户 user nobody; #启动进程,通常设置成和cpu的数量相等 worker_processes 1; #全局错误日志及PID文件 #err...

355100
来自专栏开发技术

详细的最新版fastdfs单机版搭建

  目前项目是tomcat单机部署的,图片、视频也是上传到tomcat目录下,关键是此项目的主要内容还就是针对图片、视频的,这让我非常担忧;文件服务器的应用是必...

1.3K20
来自专栏测试开发架构之路

【服务器】Nginx文件配置

45460
来自专栏个人分享

Redis简介及3.0.2编译安装

Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(...

10520
来自专栏我是攻城师

Java线程的基本知识总结

关于yield方法,是指当前线程可能运行不太重要的任务,可以通过这个方法暗示操作系统线程调度我可以晚点执行,先把CPU资源让给优先级给我一样或者大于我的任务,如...

9640
来自专栏散尽浮华

nginx负载均衡(5种方式)、rewrite重写规则及多server反代配置梳理

Nginx除了可以用作web服务器外,他还可以用来做高性能的反向代理服务器,它能提供稳定高效的负载均衡解决方案。nginx可以用轮询、IP哈希、URL哈希等方式...

98160
来自专栏java相关

nginx启动和配置

15750

扫码关注云+社区

领取腾讯云代金券