CentOS7.6利用Apache和mod_wsgi部署django项目

一、本机环境

Linux版本:CentOS7.6

python:Python 3.7.2

django:Django2.1.7

apache:Apache/2.4.6

mod_wsgi:mod_wsgi-4.6.5

二、安装相关软件

1. 安装Apache

     参考文章:CentOS7.6中安装Apache及Apache常见操作和配置说明

2. 安装python

     参考文章:CentOS7.6安装最新python3.7.2及常见安装bug

3. 安装django

     参考文章:Python中django安装、版本查看与卸载

4. 安装mod_wsgi

     下载网址:https://github.com/GrahamDumpleton/mod_wsgi/archive/4.6.5.tar.gz

     github多版本:https://github.com/GrahamDumpleton/mod_wsgi/releases

     4.1 下载后解压

$ tar xvfz mod_wsgi-4.6.5.tar.gz

     4.2 进入该目录

$ cd mod_wsgi-4.6.5

    4.3 配置、编译安装

$ ./configure -with-python=/usr/local/python3/bin/python3.7
$ make
$ make install

       安装完成后一般最后一行会显示最后安装目录,按照教程的话,默认是在:/usr/lib64/httpd/modules/mod_wsgi.so

   4.4 mod_wsgi安装完成后,还需要在Apache中加载该模块,修改Apache的配置文件(以实际位置为准,按照教程应该是在 /etc/httpd/conf/httpd.conf )。

$ vim /etc/httpd/conf/httpd.conf

  然后在文件中加入下面一行,最后的选项是mod_wsgi.so的位置。

$ LoadModule wsgi_module /usr/lib64/httpd/modules/mod_wsgi.so

    改完以后重启Apache使配置生效。

$ apachectl restart

    修改成功的话,输入 curl http://127.0.0.1 可以看到正常的网页代码,或者在云服务器浏览器输入 127.0.0.1:80 本机浏览器输入 云服务器外网IP:80 可以看到显示:Testing 123 … 的测试页。

三、部署django项目

1. 本次测试的django项目名为:testDjiango,位置:/var/www/testDjiango

2. 修改Apache配置文件,这里可以参考Django官方文档 How to use Django with Apache and mod_wsgi 

$ vim /etc/httpd/conf/httpd.conf

    在文末加上如下信息:

#Django项目中wsgi.py的路径
WSGIScriptAlias / /var/www/testDjiango/testDjiango/wsgi.py

#第一个“/”表示访问时的url中输入名称为空,那么输入:127.0.0.1:80/ 即可访问,
#也可以自定义,比如:/test,那么访问时url为:127.0.0.1:80/test
#注意:不管哪种方式,url后面都还需加上项目本身设置的访问路径

#指定python的安装位置
#WSGIPythonHome /usr/local/python3

#确保django项目可以正确导入至python解释器中
WSGIPythonPath /var/www/testDjiango

#确保Apache有权限访问wsgi.py文件


Require all granted

    改完以后重启Apache使配置生效。

$ apachectl restart

3. 打开云服务器端浏览器输入127.0.0.1:80/hello,或者本机电脑浏览器输入:云服务器外网IP:80/hello  (其中hello是testDjiango项目本身设置的url访问路径),显示如下,成功部署!

CentOS7.6利用Apache和mod_wsgi部署django项目_第1张图片

4. 如果需要让外网能访问到该项目,那么需要修改python项目的 settings.py 文件(与 上面的 wsgi.py 在同一个目录,以我的这个项目为例即:C:\Code\testDjiango\testDjiango 目录下)

在settings.py文件中的ALLOWED_HOSTS字段,加个星号

ALLOWED_HOSTS = ["*"]

 

如果安装过程中有任何问题,欢迎留言!

 

参考文章:【1】CentOS 7中使用Apache + mod_wsgi部署Django项目

                  【2】How to use Django with Apache and mod_wsgi

你可能感兴趣的:(服务器)