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