ubuntu 16.04 基于apache2发布Django网站

使用ubuntu 16.04 server 作为django网站的服务器,数据库采用mysql,以下记录配置过程。django的基本工程在本机调试好,上传至server /var/www/html目录中

准备环境:

ubuntu16.04 server

python 3.5.2

步骤如下:

1. 安装apache2

sudo apt-get install apache2

 

安装完成确认一下服务器是否正常

2. 安装MYSQL

由于Django运行需要数据库的支持,自带的sqlite性能较差,因此我们需要安装MySQL数据库

sudo apt-get install mysql-server 

安装mysql数据库及连接客户端,安装过程中,记录好数据库的root密码

安装完成后,运行mysql -uroot  -pxxxxxx 进入mysql xxxxxx是数据库密码

运行show databases; 能查看到当前安装的数据库,则证明数据安装正常

     创建djangoDB数据库,并建立用户django_user

    create database djangoDB;        #注意末尾有分号

    create user django_user@'%' identified by '123456';

    授权读写djangoDB数据库

    grant all on djangoDB.* to django_user@'%';

3. 安装virtualenv 虚拟环境

    django网站发布基于虚拟python环境

    apt install virtualenv

    3.1 创建虚拟环境venv

    进入/var/www/html/目录,在此目录下建立虚拟环境

          virtualenv venv --no-site-packages --python=python3

    ubuntu16.04默认没有python2,必须要指定版本--python=python3,否则报错

    激活虚拟环境

        source venv/bin/activate

    使用安装django

        pip install -i http://pypi.douban.com/simple --trusted-host pypi.douban.com django==2.0.8

 

4. 建立好django工程并上传至/var/www/html目录下

5. 修改settings文件,将数据库更改为mysql数据库

DATABASES = {
    'default': {

        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'djangoDB',
        'USER': 'django_user',
        'PASSWORD': '123456',
        'HOST': '127.0.0.1',
        'PORT': '3306',

    }

}

6. 同步数据库文件

      6.1 安装mysqlclient

         pip install -i http://pypi.douban.com/simple --trusted-host pypi.douban.com mysqlclient

        如果出现以下错误 Command "python setup.py egg_info" failed,则运行

        apt install build-essential

        pip install -i http://pypi.douban.com/simple --trusted-host pypi.douban.com libmysqlclient-dev

        (如果安装这个也出现错误,请update一下系统)

        执行

        python manage.py migrate

       

7. 创建apache配置文件

    7.1 在 /etc/apache2/sites-available/ 目录下,建立新文件mysite.conf,内容如下

其中python-home 指向虚拟环境的目录   python-path指向网站目录   

安装apache2wsgi扩展

sudo apt-get install libapache2-mod-wsgi-py3

配置apache2启动加载wsgi模块

修改/etc/apache2/apache2.conf ,在最后增加一行

LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi.so

重启apache2

sudo service apache2 restart

a2dissite 000-default.conf   停止当前网站

a2ensite mysite.conf   启用新的网站

/etc/apache2/sites-enabled目录下确认新站已激活

在浏览器中输入http://IP地址/polls访问服务器

如果出现外部访问被禁止的情况,就修改一下 mysite/settings.py文件,将

ALLOW_HOSTS= [] 改为ALLOW_HOSTS= ['*'] 

 

至此,Django项目顺利在Apache中运行。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值