美文网首页python
阿里云+Centos+Django +Apache+mod_ws

阿里云+Centos+Django +Apache+mod_ws

作者: 廉少 | 来源:发表于2018-11-15 20:10 被阅读0次

    阿里云上部署Django项目

    1、首先阿里云上安装Centos7系统

    此处省略安装流程

    安装好以后设置阿里云上面实例的端口,开放80和8080端口

    2、安装Apache服务器

    yum install httpd httpd-devel -y

    开启服务器:

    systemctl  start  httpd.service

    设置apache服务器随centos开机启动

    systemctl enable  httpd.service

    开启防火墙的80端口和8080端口

    firewall-cmd --zone=public --add-port=80/tcp --permanent

    firewall-cmd --zone=public --add-port=8080/tcp --permanent

    firewall-cmd --reload

    此步操作看需求,如果阿里云服务器没有开启防火墙,此步操作可以跳过

    重启系统

    reboot

    然后可以再浏览器地址栏输入对应公网ip地址,如果出现apache测试页面,如下说明apache安装成功

    2 、安装python3以及创建虚拟环境

    首先安装python3的依赖包

    yum install epel-release -y

    yum groupinstall "Development tools" -y

    yum install zlib-devel bzip2-devel openssl-devel ncurses-devel zx-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel -y

    下载并安装python3 

    wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tar.xz --no-check-certificate

    tar xf Python-3.6.5.tar.xz``

    cd Python-3.6.5

    ./configure --prefix=/usr/local --with-ensurepip=install --enable-shared LDFLAGS="-Wl,-rpath /usr/local/lib"

    make && make altinstall

    创建虚拟环境

    先安装 virtualenv模块

    pip3.6 install virtualenv

    然后创建虚拟环境  venv,此处django为django项目所处的位置

    mkdir -p /var/www/html/django

    cd /var/www/html/django

    virtualenv -p /usr/local/bin/python3.6  venv

    启动虚拟环境

    source  /var/www/html/django/venv/bin/activate

    然后在虚拟环境中安装Django工程所需要的模块

    pip install django

    pip install pymysql

    pip install  mod_wsgi

    导出 mod_wsgi模块的位置:

    LoadModule wsgi_module "/usr/lib64/httpd/modules/mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so"

    将上段代码添加到  /etc/httpd/conf下面的httpd.conf文件的最后一行

    3、创建配置文件

    创建django.conf配置文件

    vi /etc/httpd/conf.d/django.conf

    将下面的代码copy到该文件中

    Alias /static /var/www/html/django/django2/static

    <Directory /var/www/html/django/django2/static>

    Require all granted

    </Directory>

    <Directory /var/www/html/django//django2/django2>

    <Files wsgi.py>

      Require all granted

    </Files>

    </Directory>

    WSGIPythonHome "/var/www/html/django/venv"

    Listen 8080

    <VirtualHost *:8080>

    ServerName django.example.com

    WSGIDaemonProcess /django2  python-path=/var/www/html/django/venv/lib/python3.6/site-pachages

    WSGIScriptAlias / /var/www/html/django/django2/django2/wsgi.py

    </VirtualHost>

    此处django2为django工程的根目录

    4、上传Django项目

    先手修改django项目中的wsgipy文件

    加入下列两行代码:

    import sys

    sys.path.append('/var/www/html/django/django2')

    其次修改 settings.py文件里的ALLOWED_HOSTS :

    ip为阿里云的公网ip

    ALLOWED_HOSTS = ['ip','0.0.0.0']

    修改项目属主和权限

    chmod -R 755 /var/www/html

    chown -R apache:apache /var/www/html

    重启系统:

    reboot

    此时就应该可以通过公网ip加8080端口访问django项目了

    ---------------------

    作者:廉少

    来源:简书

    原文:https://www.jianshu.com/p/7c1a4344a217

    版权声明:本文为博主原创文章,转载请附上博文链接!

    相关文章

      网友评论

        本文标题:阿里云+Centos+Django +Apache+mod_ws

        本文链接:https://www.haomeiwen.com/subject/yhdufqtx.html