Centos7部署Django项目

Centos7 部署Django项目

软件版本:Centos7 | Python3.6 | Django1.11.6

步骤:(在root用户操作下完成)

一、更新系统软件包

执行命令: yum update -y
二、 安装软件管理包和可能使用的依赖

1. 执行命令: yum -y groupinstall "Development tools"

2. 执行命令:
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel

三、下载Pyhton3到 /usr/local 目录

1. 切换到 /usr/local 目录

2. 获取python3.6的压缩文件

执行命令: wget https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tgz

3. 解压python3.6

执行命令: tar -zxvf Python-3.6.6.tgz

4. 进入 python-3.6.6 的路径

执行命令: ls 查看目录 cd Python-3.6.6 进入目录

5. 编译安装python3到指定路径

A) 执行命令: ./configure --prefix=/usr/local/python3

注意:/usr/local/python3 路径可以自己指定,自己记着就行,下边要用到。
B)安装python3

a) 执行命令: make

b) 执行命令: make install

C) 安装完成之后,建立软链接,添加变量,方便在终端中直接使用python3

a)python3 的软连接

执行命令: ln -s/usr/local/python3/bin/python3.6/usr/bin/python3

b)pip3 的软连接

执行命令: ln -s /usr/local/python3/bin/pip3.6 /usr/bin/pip3

c) 查看python和pip的版本

执行命令: python3和pip3 –V

四、虚拟环境里安装Django和uwsgi

1. 执行命令: pip3 install django==1.11.6 注意:如果用于生产的话,则需要指定安装和你项目相同的版本

执行命令:

ln -s /usr/local/python3/bin/django-admin /usr/local/bin/django-admin

2. 执行命令: pip3 install uwsgi

3. 给uwsgi建立软链接

执行命令: ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi

五、切换到网站目录/home/wwwroot,创建Django项目

1. 执行命令: cd /home/wwwroot 切换目录

2. 执行命令: django-admin startproject mysite

3. 进入mysite,新建一个app应用,我这里取名叫blog

A) 执行命令: cd mysite 进入mysite目录

B) 执行命令: python3 manage.py startapp blog

4. 新建文件夹 static templates ,分别用于存放静态文件和模板文件

A) 执行命令: mkdir static

B) 执行命令: mkdir templates

六、修改编辑Django项目文件

1. 编辑 mysite 里面的 settings.py 文件

A) 执行命令: cd mysite

B) 执行命令: vim settings.py

a) INSTALLED_APPS 列表里添加'blog'的APP

b) 修改 ALLOWED_HOSTS =['※'] 可以让任何IP访问

c) ALLOWED_HOSTS 里添加模板路径 os.path.join(BASE_DIR, 'templates')

d) 在文件末尾添加 STATICFILES_DIRS = (os.path.join(BASE_DIR,'static'),)

e) 最后保存退出。按 Esc 键,输入 :wq 保存退出

七、启动项目

1. 执行命令: cd /home/wwwroot/mysite 切换到mysite目录

2. 执行命令: python3 manage.py runserver 可见项目正常启动了

八、Django正常运行之后,我们就开始配置一下uwsgi

在服务器上编写一个Python文件app.py:

def application(env, start_response):

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

 return [b"Hello World"]

在服务器上执行命令启动Web服务器:

uwsgi --http :9001 --wsgi-file app.py

或者

uwsgi --http :9001 --wsgi-file foobar.py --master --processes 4

PS: flask需要再加 --callable app

c. django 程序使用uwsgi

将开发好的django程序拷贝到服务器目录【同示例一】,即:/home/wwwroot ,执行命令启动:

uwsgi --http :9001 --chdir /home/wwwroot/ --wsgi-file mysite/wsgi.py --master --processes 4

九、安装 nginx 和配置 nginx.conf 文件

1. 执行命令: cd /home 进入home目录

2. 执行命令: wget http://nginx.org/download/nginx-1.13.7.tar.gz 下载NGINX 压缩包

3. 解压NGINX ,执行命令: tar -zxvf nginx-1.13.7.tar.gz

4. 依次执行以下命令:

a) 执行命令: cd nginx-1.13.7 进入nginx-1.13.7****文件夹

b) 执行命令: ./configure

c) 执行命令: make

d) 执行命令: make install
注意:nginx一般默认安装好的路径为/usr/local/nginx

5. 进入 /usr/local/nginx/conf 目录,打开nginx.conf文件

a) 执行命令: cd /usr/local/nginx/conf 进入目录

b) 执行命令: vim nginx.conf server 里编辑以下内容:

 charset utf-8;

 location / {

 include uwsgi_params;

 uwsgi_pass 127.0.0.1:8997;

 uwsgi_param UWSGI_SCRIPT mysite.wsgi;

 uwsgi_param UWSGI_CHDIR /data/wwwroot/mysite;

 }

 location /static/ {

 alias /data/wwwroot/mysite/static/; #静态文件目录

 }

要记得保存!

6. 执行命令: cd /usr/local/nginx/sbin 进入 /usr/local/nginx/sbin/ 目录

7. 执行命令: ./nginx -t (千万不要忘了那个 .

8. 如果成功了,就执行命令: ./nginx

注意:终端没有任何提示就证明nginx启动成功。可以使用你的服务器地址查看,成功之后就会看到一个nginx欢迎页面。

启动uwsgi和nginx

uwsgi --ini /home/wwwroot/mysite.ini &
/etc/init.d/nginx start

十、访问项目的页面

1. 执行命令: cd /data/wwwroot/mysite/ 进入Django项目目录

2. 执行命令: uwsgi -x mysite.xml

3. 如果没有报错,那么:

A) 执行命令: cd /usr/local/nginx/sbin/ 进入目录

B) 执行命令: ./nginx -s reload 重启nginx

4. 然后在浏览器里输入IP就OK了!

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

推荐阅读更多精彩内容