美文网首页
Django +Nginx + Uwsgi + Mysql的配置

Django +Nginx + Uwsgi + Mysql的配置

作者: Zero兴 | 来源:发表于2018-05-30 13:41 被阅读0次

环境: 腾讯云服务器Centos 7 64位 ;

Nginx :  1. 下载: wget nginx-1.13.9.tar.gz , 解压 安装 ./configure —prefix= /usr/local/nginx;

启动:

$ /usr/local/nginx/sbin/nginx

检查是否启动成功:

打开浏览器访问此机器的 IP,如果浏览器出现 Welcome to nginx! 则表示 Nginx 已经安装并运行成功。

部分命令如下:

重启:$ /usr/local/nginx/sbin/nginx –s reload

停止:$ /usr/local/nginx/sbin/nginx –s stop

测试配置文件是否正常:$ /usr/local/nginx/sbin/nginx –t

强制关闭:$ pkill nginx

安装Django :

在安装之前,首先安装 yum install python-devl,gcc,setuptools,openssl ,openssl-devel;

在此使用的时python3.6.3版本, wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tgz ;

解压 tar -zxvf Python-3.6.3.tgz;

进入python解压包中,执行: ./configure —prefix= /usr/local/python36, 然后编译安装: make &&make install ;

安装完成之后,因为Linux内部已有自带的python2版本,在此不要随意覆盖(会出现一系列的问题);

cd /etc/bin建立python3的软连接 ,   

ln -s /usr/local/python36/bin/python3  /usr/bin/python3 ; 

由于购买的是腾讯云服务器,发现没有pip, 同样步骤建立pip3的软连接: ln -s /usr/local/python36/bin/pip3  /usr/bin/pip3; 完成以后,输入 python3 —version 即可查询python的版本,输入python即是系统自带python版本; pip同理;

在上述步骤完成之后, 运行pip3 install Django , pip3 install uwsgi,安装好之后要和上面一样,将django-admin.py, Django-admin, uwsgi 建立软连接, ln -s /usr/local/python36/bin/django-admin.py  /usr/bin/django-admin.py ;  ln -s /usr/local/python36/bin/django-admin  /usr/bin/django-admin;  ln -s /usr/local/python36/bin/uwsgi  /usr/bin/uwsgi ;之后依次运行:

yum installzlib-devel,libjpeg-turbo-devel,pillow < Django 依赖包>

$ django-admin startproject mysite   

$python manage.py runserver 0.0.0.0:8000, 打开浏览器即可看到django的首页面;

为验证安装的uwsgi是否成功,输入 uwsgi —version:查看版本号 或者新建一个hello.py文件:

def application(env, start_response): 

   start_response('200 OK', [('Content-Type','text/html')])

     return [b"Hello World”]

保存退出, $ uwsgi --http :8000 --wsgi-file hello.py

在浏览器中即可看到 hello world

配置nginx 和uwsgi ,首先得先说明我的项目文件夹目录如下图所示:

在项目mysite文件夹下新建一个test文件夹 mkdir test(名称没有限制),在test文件夹中新建一个名为uwsgi.ini文件vim uwsgi.ini,配置的信息如下:

[uwsgi]

# 项目目录

chdir=/root/mysite

# 指定项目的application

# module=mysite.wsgi:application

进程个数

workers=5

pidfile=/root/mysite/script/uwsgi.pid

指定IP端口

http=127.0.0.1:9090

指定静态文件

static-map=/static=/root/mysite/static

启动uwsgi的用户名和用户组

uid=root

gid=root

启用主进程

master=true

自动移除unix Socketpid文件当服务停止的时候

vacuum=true

序列化接受的内容,如果可能的话

thunder-lock=true

启用线程

enable-threads=true

设置自中断时间

harakiri=30

设置缓冲

post-buffering=4096

设置日志目录

daemonize=/root/mysite/script/uwsgi.log

指定sock的文件路径

socket=/root/mysite/script/uwsgi.sock

max-requests =1000

:wq(保存)

然后,vim /usr/local/nginx/conf/nginx.conf,如下图所示:

mysql 安装

参考资料:http://www.chenxm.cc/post/275.html

http://www.runoob.com/django/django-nginx-uwsgi.html

https://blog.csdn.net/cxm19881208/article/details/62047392

配置nginx绑定支持http与https的域名:

vim  nginx安装目录/url/local/nginx/nginx.conf,详细配置如下:

server {

    listen       80;

    charset utf-8;

server_name www.onexing.cn;

    return 301 https://$server_name$request_uri;

    }

server {

    listen 443;

server_name www.onexing.cn; #填写绑定证书的域名

    ssl on;

    ssl_certificate     1_www.onexing.cn_bundle.crt;

    ssl_certificate_key 2_www.onexing.cn.key;

    ssl_session_timeout 5m;

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置

    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置

    ssl_prefer_server_ciphers on;

    charset utf-8;

    #charset koi8-r;

    #access_log  logs/host.access.log  main;

    location / {

        include uwsgi_params;  # 导入一个Nginx模块他是用来和uWSGI进行通讯的

        uwsgi_pass  127.0.0.1:8000;

        uwsgi_connect_timeout 30;  # 设置连接uWSGI超时时间

        uwsgi_read_timeout 1800;

        uwsgi_send_timeout 300;

        proxy_read_timeout 300;

        root   /root/mysite;

        index  index.html index.htm;

    }

   location ^~ /static/ {

          root /root/mysite/;   # 项目目录

  }

参考:https://www.aliyun.com/jiaocheng/138215.html

相关文章

网友评论

      本文标题:Django +Nginx + Uwsgi + Mysql的配置

      本文链接:https://www.haomeiwen.com/subject/rnbtsftx.html