阿里云+Centos+Django +Apache+mod_wsgi

阿里云上部署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项目了

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南下45°

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值