zoukankan      html  css  js  c++  java
  • Django+wsgi+Apache+Ubuntu 部署相关

    学校的项目,一个web健康照护平台,因为我近在学python,所以尝试用django来写这个项目。初期为了方便调试,在自己的电脑上windows写跑的开发服务器,python manage.py runserver 8001。后期网站也写的差不多了,跟着教程部署到服务器上的时候遇到了麻烦,现在记录下来。

    首先说明下我的环境:Python2.7   Django1.8    Apache2.4.7    Ubuntu14.04            

    时间:2015.12

    先上教程:http://www.ziqiangxuetang.com/django/django-deploy.html

    按照上面的教程,可能遇到的问题的解决方法:

    1.apache同时访问不同的服务,如php+django等

    因为项目之外还有其他人需要使用服务器,用的是php,他的文件是放在 var/www/html中的,这个位置是由apache默认配置文件000-default.conf决定的(以前版本中叫httpd.conf)

    由于000-default.conf中也是使用80端口,所以在我的sitename1.conf中不能使用80端口(或者同时使用80端口,但用不同的域名区分开,网上有方法,可是我没域名)。

    我的方法是:通过区分不同的端口号来区分php或django服务。

    首先,在apache的安装目录下找到配置文件ports.conf

    sudo vi /etc/apache2/ports.conf

    发现里面只有:

    # If you just change the port or add more ports here, you will likely also
    # have to change the VirtualHost statement in
    # /etc/apache2/sites-enabled/000-default.conf
    
    Listen 80
    
    <IfModule ssl_module>
    	Listen 443
    </IfModule>
    
    <IfModule mod_gnutls.c>
    	Listen 443
    </IfModule>
    

    加上一个新的端口,要确保端口不被占用,我这里加的是8026端口:

    Listen 8026
    

    其次,新建一个配置文件sitename1.conf,和000-default同目录

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

    输入配置(根据自己的项目目录来):

    <VirtualHost *:8026>
        ServerName www.domain.com
        ServerAdmin email@qq.com
        DocumentRoot "/home/geron/site1/mysite"    
    
        Alias /media/ /home/geron/site1/mysite/media
        Alias /images/ /home/geron/site1/mysite/media/images
      
        <Directory /home/geron/site1/mysite/media>
            Require all granted
        </Directory>
      
        <Directory /home/geron/site1/mysite/media/images>
            Require all granted
        </Directory>
      
        WSGIScriptAlias / /home/geron/site1/mysite/mysite/wsgi.py
      
        <Directory /home/geron/site1/mysite/mysite>
        <Files wsgi.py>
            Require all granted
        </Files>
        </Directory>
    </VirtualHost>
    

    重启apache2服务:

    sudo service apache2 restart
    

    此时直接访问服务器ip地址可以转到默认的80端口,访问服务器ip地址+端口号8026即可访问django服务。

    2. 报错

    Invalid command 'WSGIScriptAlias', perhaps misspelled or defined by a module not included in the server configurationAction 'configtest' failed.
    

     解决: 

    sudo a2enmod wsgi
    

    3.Ubuntu下安装mysql-python

    sudo apt-get install python-mysqldb
    

      

  • 相关阅读:
    sublime text3快捷键
    SublimeText3追踪函数工具CTags设置及使用
    mysql的表锁
    ESXI vSphere如何设置虚拟机开机自启动
    gitee支持的开源许可证
    keepalive安装部署踩坑参考
    《牧神记》中诗词大全,有的可能是作者瞎编的
    定位Linux服务器SSH敲命令响应慢的问题
    Crypto-JS——Uncaught Error: Malformed UTF-8 data
    VUE——vue中组件之间的通信方式有哪些
  • 原文地址:https://www.cnblogs.com/snapeliu/p/5048427.html
Copyright © 2011-2022 走看看