设为首页 收藏本站
查看: 923|回复: 0

[经验分享] Django 部署(Apache下)

[复制链接]

尚未签到

发表于 2017-12-24 08:54:10 | 显示全部楼层 |阅读模式
前言:
  因为需要在服务器下运行python脚本,所以需要搭建Django服务器。所以将自己的学习过程也记录下来,方便日后查阅。
  本文环境如下:
  Ubuntu 16.04  python2.7
  Apache2.4
  Django1.8

正文:
  下面是ubuntu上的部署详细步骤:
  1. 安装 apache2 和 mod_wsgi
  

sudo apt-get install apache2  
# 如果是Python
2 执行如下  
sudo apt-get install libapache2-mod-wsgi
  
# 如果是Python 3 执行如下
  

sudo apt-get install libapache2-mod-wsgi-py3  

  2. 确认安装的apache2版本号
  

apachectl -v  

  结果如下:
  root@ygh:/var/www/mysite# apachectl -v
  Server version: Apache/2.4.18 (Ubuntu)
  Server built:   2016-04-15T18:00:57

3. 测试apache
  打开浏览器输入,127.0.0.1
DSC0000.png

  显示Apache安装成功。
  4、如果没有安装Django环境,安装过程如下:
  如果是学习,可以选择目前的 Django 1.8.x 来进行,是个稳定版本。
  4.1. 用 pip 来安装
  4.1.1 需要先安装pip
  (1). ubuntu:
  

sudo apt-get install python-pip  

  (2). Fedora:
  

yum install python-pip  

  利用 pip 安装 Django
  

(sudo) pip install Django  
或者 (
sudo) pip install Django==1.8.16 或者 pip install Django==1.10.3  

  我自己使用的命令是:pip install Django==1.8.16
  终端上输入 python ,点击 Enter,进行 python 环境
  

>>> import django  

>>> django.VERSION  
(
1, 8, 16, 'final', 0)  

>>>  
>>> django.get_version()
  
'1.8.16'
  

  如果运行后看到版本号,就证明安装成功了
  5.创建django工程
  Apache下的项目一般会放在/var/www/下,如果你想自己修改目录,需要修改配置文件,因为自己为了简化操作,没有修改。
  

cd /var/www/  

  
sudo django-admin.py startproject mysite
  

  一般使用 django-admin startproject mysite 也可以创建工程,看个人电脑的情况而定,两个命令可以都试一下。

6. 测试django工程
  cd mysite
  采用8000端口,并在本地运行:
  

sudo python manage.py runserver 8000  

  浏览器测试
DSC0001.png

  7.更改端口
  因为需要将Apache和Django进行绑定,所以需要将端口更改为它们共有的。
  

sudo vi /etc/apache2/ports.conf  

  添加如下:
  

NamevirtualHost *:8888  
Listen
8888  

  表示VirtualHost *:8888的虚拟主机监听8888端口

7.1. 添加网站配置文件
  

sudo vi /etc/apache2/sites-available/mysite.conf  

  

<VirtualHost *:8888>  DocumentRoot
/var/www/mysite/mysite<Directory /var/www/mysite/mysite>  Order allow,deny         
  Allow from all      
</Directory>  
WSGIScriptAlias
/ /var/www/mysite/mysite/wsgi.py  

</VirtualHost>   


8. 更改django工程
  

sudo vi /var/www/mysite/mysite/wsgi.py  

  添加如下:
  

import sys  
sys.path.append(
"/var/www/mysite/")  

  9. 配置生效
  

sudo a2ensite mysite.conf  

  有时候需要不使能配置
  sudo a2dissite mysite.conf
  然后需要 apache服务重启
  

sudo service apache2 restart  

  

sudo service apache2>  

  10. 登录测试

127.0.0.1:8888
DSC0002.png


11. 创建app测试
  

cd /var/www/mysite/  

  
python manage.py startapp blog
  

  

sudo vi blog/views  

  插入如下代码:
  

from django.shortcuts import render  

  
from django.http import HttpResponse
  

  
# Create your views here.
  
def index(request):
  return HttpResponse(
"hello ygh")  

  然后修改网络地址文件
  

sudo vi mysite/urls.py  

  

from django.conf.urls import url  
from django.contrib import admin
  

  
from blog import views
  

  
urlpatterns
= [  url(r
'^admin/', admin.site.urls),  url(r
'^$', views.index),  
]
  

  浏览器测试
DSC0003.png

  这样就将Django和Apache绑定,可以部署到服务器上了。
  =====================================================
  2017.3.21补充:
  因为项目需要,在Apache的默认文件夹/var/www/不方便项目的迁移,要将其他文件下项目部署到服务器上,所以解决了取消默认文件夹的问题,解决方案如下:
  首先进入配置文件:
  

gedit /etc/apache2/apache2.conf  

  然后修改如下内容:
  

<Directory />  Options FollowSymLinks
  AllowOverride None
  Require all denied
  

</Directory>  
改为如下内容:
  

<Directory />  Options Indexes FollowSymLinks
  AllowOverride None
  #Require all denied
  

</Directory>  

  在其下添加如下内容:
  

<Directory /opt/deep_ocr/python/>  Options Indexes FollowSymLinks
  AllowOverride None
  Require all granted
  

</Directory>  

  

/opt/deep_ocr/python/是我自己的目录,修改完成,这时可以指定/opt/deep_ocr/python/为你的项目目录。  完成!
  

  by still、

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-427445-1-1.html 上篇帖子: Up and running with Apache Spark on Apache Kudu 下篇帖子: Apache Maven 3.5.0配置安装
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表