nginx+uwsgi+Django

nginx+uwsgi+Django

本环境在阿里云Centos7.2上发布

1. 首先参考上一篇文章

Centos7安装python3.X

2. 参考第二篇文章安装mysql

Centos7安装mysql5.6

3. 跟新系统环境

运用命令 yum install update

4. 在根目录下创建文件夹

  1. cd到根目录
  2. mkdir sities创建一个文件夹
  3. mkdir blog在创建一个文件夹来Django的项目
  4. mkdir script创建一个文件夹装uwsgi以及其他配置的文件
  5. 看见目录应该是 ~/sities/blog/script/
  6. 运行命令安装git yum install git安装过程中按Y就好

5.下载项目

首先我们要确保自己在blog的目录下,(就是跟script同级目录)

然后git我们的项目下来,git clone +自己的仓库地址

6.配置

  1. 先新建虚拟环境 运行mkvirtualenv env3

  2. 如过没下载virtualenvwrapper的话可以通过以下命令:pip install virtualenv然后virtualenv env3source env3/bin/activate

    1

  3. 我们进入到项目的主目录,就是有manage.py的文件下
    2
  4. 执行pip install -r requirements.txt安装所需要的文件,如果没有此文件,先在本地执行pip freeze > requirements.txt在上传到项目跟manage.py的同级下在执行

  5. 迁移数据库和生成数据库
    3
  6. python manage.py createsuperuser创建超级管理员

    4

  7. python manage.py runserver 0:8000启动项目,看看有没有报错

    5

  8. 访问ip+8000端口
    6

7.安装uwsgi和配置uwsgi

  1. 安装uwsgi pip install uwsgi

  2. uwsgi --http :8000 --module blogproject.wsgi --static-map=/static=stati就可以启动uwsgi的,不过uwsgi处理的大多数是动态请求,而nginx处理的是静态文件,所以大多数使用配置文件来启动,启动命令后通过ip+端口一样能访问到

    7

  3. 在script下创建一个新的uwsgi.ini 文件,可以用vi,vim编辑

    #如果你的工程名字跟我不一样,把下面的blogproject改为你自己的名字
    [uwsgi]
    #项目目录,可以用pwd查看,以自己的为准
    chdir=~/sities/blog/blogproject/
    #启动uwsgi的用户名和用户组
    uid=root
    gid=root
    #指定项目的application
    module=blogproject.wsgi:application
    #指定sock的文件路径
    socket=~/sities/blog/script/uwsgi.sock
    #启动主进程
    master=true
    #进程个数
    workers=5
    pidfile=~/sities/blog/script/uwsgi.pid
    #自动移除unix Socket和pid文件,当服务器停止时侯
    vacuum=true
    #序列化接受的内容,如果可能的话
    thunder-lock=true
    #启动线程
    enable-threads=true
    设置自动中断时间
    harakiri = 30
    #设置日志目录
    daemonize=~/sities/blog/script/uwsgi.log
    #结束
    
  4. uwsgi 命令

    uwsgi --ini uwsgi.ini 启动
    uwsgi --stop uwsgi.pid 停止
    ps -ef | grep -i uwsgi 检出uwgi有没有启动
    #操作这些需要在script中,有uwgi.ini和uwsgi.pid文件才可以执行
    
8

8.安装配置nginx

  1. 安装nginx yum -y install nginx

  2. 进入nginx的配置目录cd /etc/nginx/conf.d/因为在nginx.conf下有一句话include /etc/nginx/conf.d/*.conf所以可以在这里编写配置文件

  3. 编写配置文件

    server {
    listen 80; # 监听哪个端口
    server_name 45.32.71.174 ;  # 你的ip地址 或者是域名,如果是域名需要解析dns,这个自行搞定
    access_log /var/log/nginx/access.log main;  # 日志记录
    error_log /var/log/nginx/error.log;   # nginx错误日志,可自行设置,但必须保证提前建立好该目录和文件
    charset utf-8;
    gzip on;
    gzip_types text/plain application/x-javascript text/css text/javascript application/x-httpd-
    php application/json text/json image/jpeg image/gif image/png application/octet-stream;
    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
    # 指定项目路径uwsgi
    location / {
        include uwsgi_params;
        uwsgi_connect_timeout 30;
        uwsgi_pass unix:/opt/blog/script/uwsgi.sock; # 这里需要改为你的目录(如果你和我的目录一致不需要改动)
    }
    # 指定静态文件路径
    location /static/ {
        alias /opt/blog/blogproject/static/;   # 这里需要改为你的目录(如果你和我的目录一致不需要改动)
        index index.html index.htm;
    }
    }
    
9
  1. 检查配置文件 nginx -t尾部出现了successful就表市成功,不成功看报错信息就好

9.nginx+uwsgi运行

service nginx stop  --停止nginx服务
uwsgi --stop uwsgi.pid --停止uwsgi服务
uwsgi --ini uwsgi.ini --开启uwsgi服务
service nginx start --开启nginx服务
现在就可以访问你的网站了

10.如果进去后台发现样式有问题可以在配置

  1. 删除项目中的satic文件

  2. 在项目的settings.py中加入以下的话

    STATIC_ROOT = os.path.join(BASE_DIR,'static')
    看下自己的settings里面有没有STATICFILES_DIRS,有需要先注释掉 
    
  3. 在项目下路径执行

    python manage.py collectstatic --noinput 
    
  4. 看到我们的项目多了static,然后重启nginx服务,就可以了,如果还有少的可以使用Filezilla这个软件把少了的静态拉过去,在重启

如有问题可以在下方留言,或者进入我的博客去评论,谢谢

我的博客

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,558评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,002评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,036评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,024评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,144评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,255评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,295评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,068评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,478评论 1 305
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,789评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,965评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,649评论 4 336
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,267评论 3 318
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,982评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,223评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,800评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,847评论 2 351

推荐阅读更多精彩内容