阿里云+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安装成功

阿里云+Centos+Django +Apache+mod_wsgi_第1张图片

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

Require all granted



 
   Require all granted
 


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

Listen 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


此处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项目了

你可能感兴趣的:(心得,总结)