Django服务器部署

注意事项:

ubuntu服务器默认是python2(此版本不要删除,不然会出问题),  如果你的项目是python3,服务器也安装python3, Django版本最好也统一,不然可能会出问题。

下载python3:

sudo apt-get install python3.6

下载完毕后, 删除引用python文件,从新引用python3

  sudo rm /usr/bin/python
sudo ln -s /usr/bin/python3.4 /usr/bin/python

查看是否成功 python -V

1、安装Python包管理器

Pip是Python语言的包管理器,它可以帮助我们安装、修改、卸载Python包。要安装pip非常简单,执行命令:

# sudo apt-get install python-pip

2、安装Django

要从头创建项目,需要先安装Django软件包。执行命令:

# sudo pip install Django

要想指定Django的安装版本,比如1.5.5版,可以这样:

# sudo pip install Django==1.5.5

当然,你仍然可以使用Ubuntu的包管理器apt-get来安装Django,但这可能安装的不是最新稳定版的Django。


3、安装Apache2

使用apt-get命令完成Apache2的安装。

# sudo apt-get install apache2

4、安装mod_wsgi模块

仍然可以使用apt-get命令安装mod_wsgi模块。

# sudo apt-get install libapache2-mod-wsgi

要注意,如果使用的是Python3,那么命令应该是这样的:

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

5、创建WSGI脚本

空文件init.py会告诉Python,把此目录当成是包来对待。override.py会导入所有的设置,并覆盖任何用于生产状态的设置。 
比如生产状态的数据库设置和Debug设置可能会与开发状态有所不同,要在源码中区别开来,需要这样修改setting.py文件:

DEBUG = True
ALLOWED_HOSTS = ['www.mydomain.com', 'mydomain.com'] 或 ALLOWED_HOSTS = ["*"]

假如工程名是blog,ServerName可以是ip地址或者域名,如果是域名的话还需要修改Django工程下的seeting.py文件,将其ALLOWED_HOSTS=[]改为ALLOWED_HOSTS=['www.yourdomain.com'],多个域名可以通过逗号隔开。端口好要改的话需要 在/etc/apache2/ports.conf中添加你对应的端口号。

<VirtualHost *:80>
    ServerName www.yourdomain.com
    ServerAlias otherdomain.com
    ServerAdmin wang@163.com
  
    Alias /media/ /var/www/blog/media/
    Alias /static/ /var/www/blog/static/
  
    <Directory /var/www/blog/media>
        Require all granted
    </Directory>
  
    <Directory /var/www/blog/static>
        Require all granted
    </Directory>
  
    WSGIScriptAlias / /var/www/blog/blog/wsgi.py
    # WSGIDaemonProcess ziqiangxuetang.com python-path=/home/tu/blog:/home/tu/.virtualenvs/blog/lib/python2.7/site-packages
    # WSGIProcessGroup ziqiangxuetang.com
  
    <Directory /var/www/blog/blog>
    <Files wsgi.py>
        Require all granted
    </Files>
    </Directory>
</VirtualHost>                                                                                                   
2.修改wsgi.py文件

      import os
    from os.path import join,dirname,abspath
    PROJECT_DIR = dirname(dirname(abspath(__file__)))


    import sys
    sys.path.insert(0,PROJECT_DIR)
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "examsys.settings")


    from django.core.wsgi import get_wsgi_application
    application = get_wsgi_application()

3.设置mysql字符集
   如果用到mysql数据库需要设置字符集,请参看:http://blog.csdn.net/bigboysunshine/article/details/60961845

4.如果上面设置的端口是80则请参看:http://blog.csdn.net/bigboysunshine/article/details/62418300

5.激活网站

sudo a2ensite sitename.conf

sudo service apache2 restart

6.进入工程目录执行

sudo python3 manage.py collectstatic


然后访问 一下应该就ok了。

最后注意点:更新项目后, 需要执行


sudo service apache2 reload


后才会刷新,不然访问的还是缓存的urls。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值