09.Apache 2.4 基于端口配置多个Diango项目

简介: 写在前边的话:       基于多端口配置普通的web项目是非常简单的,大家上网搜索就能得到很多答案,而且不会出错,然而在配置Django的多端口时,却出现了各种bug,苦苦的折腾了一晚上       环境 说明:             服务器 Windows Server 2008             Apache 2.

写在前边的话:

       基于多端口配置普通的web项目是非常简单的,大家上网搜索就能得到很多答案,而且不会出错,然而在配置Django的多端口时,却出现了各种bug,苦苦的折腾了一晚上

       环境 说明:

             服务器 Windows Server 2008

             Apache 2.4.4

             Python 2.7.10

             Mysql 5.7

             Mod_Wsgi 3.4

       在进行配置之前,首先要保证你的环境是Ok的,这样才能保证配置过程中,不会因为环境缺少问题而出错,这里假设你所需要的软件都已安装完毕

1:加载 mod_wsgi

     修改Apache目录下的conf/httpd.conf 文件,加入下面这行

<span style="font-size:14px;">    LoadModule wsgi_module modules/mod_wsgi.so</span><span style="font-size:18px;">
</span>

2:打开端口虚拟映射

     和1中的文件相同,找到如下

    # Virtual hosts
    # Include conf/extra/httpd-vhosts.conf
     将第二行的#去掉,即允许Apache进行端口映射

3:添加端口

     还是httpd.cond 文件,大约在五十多行吧,添加你的端口,我这里设置为8080和8081

     #Listen 12.34.56.78:80
     Listen 8080
     Listen 8081

4:打开 conf/extra/httpd-vhosts.conf 

     原来是这样的

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "c:/Apache24/docs/dummy-host.example.com"
    ServerName dummy-host.example.com
    ServerAlias www.dummy-host.example.com
    ErrorLog "logs/dummy-host.example.com-error.log"
    CustomLog "logs/dummy-host.example.com-access.log" common
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host2.example.com
    DocumentRoot "c:/Apache24/docs/dummy-host2.example.com"
    ServerName dummy-host2.example.com
    ErrorLog "logs/dummy-host2.example.com-error.log"
    CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>
     修改端口号,加载Django的配置文件,配置之后是这样的

<VirtualHost *:8080>
  ServerName blog_analysic
  WSGIScriptAlias / D:/WWW/blog_analysic/blog_analysic/wsgi.py
  <Directory D:/WWW/blog_analysic/blog_analysic/>  
     <Files wsgi.py>  
       Require all granted  
     </Files>  
  </Directory> 
  
  Alias /static D:/WWW/blog_analysic/static
  <Directory D:/WWW/blog_analysic/static>   
    Require all granted  
  </Directory>   

  DocumentRoot "D:/WWW/blog_analysic"
  <Directory "D:/WWW/blog_analysic">
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
  </Directory>
</virtualHost>

<VirtualHost *:8081>
  ServerName CyanScikit
  WSGIScriptAlias / D:/WWW/CyanScikit/CyanScikit/wsgi.py
  <Directory D:/WWW/CyanScikit/CyanScikit/>  
     <Files wsgi.py>  
       Require all granted  
     </Files>  
  </Directory> 
  
  Alias /static D:/WWW/CyanScikit/static
  
  <Directory D:/WWW/CyanScikit/static>   
    Require all granted  
  </Directory>   
     DocumentRoot "D:/WWW/CyanScikit/templates"
     <Directory "D:/WWW/CyanScikit/templates">
         Options Indexes FollowSymLinks
         AllowOverride None
         Require all granted
     </Directory>
</virtualHost>
      分别监控8080和8081端口,且我的项目目录在D盘根目录的WWW文件夹下,其中包含两个项目 blog_analysic 和CyanScikit
      

      PS:网上查的资料都是基本配置到这里就完事了,就可以重启Apache服务器了,这样的现象是服务器重启OK,但是访问我们 的web项目时会报错如下:

 
      这时候查看服务器日志 logs/error文件

 mod_wsgi (pid=3548): Target WSGI script 'D:/WWW/blog_analysic/blog_analysic/wsgi.py' cannot be loaded as Python module.
 mod_wsgi (pid=3548): Exception occurred processing WSGI script 'D:/WWW/blog_analysic/blog_analysic/wsgi.py'.
 Traceback (most recent call last):
   File "D:/WWW/blog_analysic/blog_analysic/wsgi.py", line 16, in <module>
     application = get_wsgi_application()
   File "D:\\Program Files\\Python27\\lib\\site-packages\\django-1.8.8-py2.7.egg\\django\\core\\wsgi.py", line 14, in get_wsgi_application
     django.setup()
   File "D:\\Program Files\\Python27\\lib\\site-packages\\django-1.8.8-py2.7.egg\\django\\__init__.py", line 17, in setup
     configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)
   File "D:\\Program Files\\Python27\\lib\\site-packages\\django-1.8.8-py2.7.egg\\django\\conf\\__init__.py", line 48, in __getattr__
     self._setup(name)
   File "D:\\Program Files\\Python27\\lib\\site-packages\\django-1.8.8-py2.7.egg\\django\\conf\\__init__.py", line 44, in _setup
     self._wrapped = Settings(settings_module)
   File "D:\\Program Files\\Python27\\lib\\site-packages\\django-1.8.8-py2.7.egg\\django\\conf\\__init__.py", line 92, in __init__
     mod = importlib.import_module(self.SETTINGS_MODULE)
   File "D:\\Program Files\\Python27\\Lib\\importlib\\__init__.py", line 37, in import_module
     __import__(name)
 ImportError: No module named blog_analysic.settings
     这个问题是因为找不到项目的路径,这时候就要修改项目的wsgi文件了

5:修改项目的wsgi.py

     打开文件,将我们的项目目录加进去

    import sys

    sys.path.append('D:/WWW/blog_analysic/')  

     同理修改另一个项目的wsgi.py即可

这时候再去重启我们的服务器,访问web目录

http://115.28.17.62:8080


http://115.28.17.62:8081/


OK


附:项目的地址:博客统计分析系统 CyanScikit科技网站

相关文章
|
17天前
|
网络协议
iptables配置tcp端口转发
iptables配置tcp端口转发
25 1
|
1月前
|
NoSQL Java 数据库
【问题篇】springboot项目通过数据库限制实例端口号
【问题篇】springboot项目通过数据库限制实例端口号
19 0
|
1月前
|
SQL Apache HIVE
一文彻底掌握Apache Hudi的主键和分区配置
一文彻底掌握Apache Hudi的主键和分区配置
60 0
|
2月前
|
Java 程序员 API
Springboot-swagger配置(idea社区版2023.1.4+apache-maven-3.9.3-bin)
Springboot-swagger配置(idea社区版2023.1.4+apache-maven-3.9.3-bin)
58 1
|
2月前
|
前端开发 Java 数据库连接
Springboot-MyBatis配置-配置端口号与服务路径(idea社区版2023.1.4+apache-maven-3.9.3-bin)
Springboot-MyBatis配置-配置端口号与服务路径(idea社区版2023.1.4+apache-maven-3.9.3-bin)
33 0
|
4月前
|
数据安全/隐私保护 时序数据库
InfluxData【部署 03】时序数据库 InfluxDB 离线安装配置使用(下载+安装+端口绑定+管理员用户创建+开启密码认证+开机自启配置)完整流程实例分享
InfluxData【部署 03】时序数据库 InfluxDB 离线安装配置使用(下载+安装+端口绑定+管理员用户创建+开启密码认证+开机自启配置)完整流程实例分享
128 0
|
1月前
|
安全 Linux Apache
Apache代理服务器搭建和配置
Apache代理服务器搭建和配置
|
29天前
|
前端开发 应用服务中间件 nginx
nginx中配置不输入端口(指定地址)访问项目的方法
nginx中配置不输入端口(指定地址)访问项目的方法
23 0
|
30天前
|
消息中间件 API Apache
官宣|阿里巴巴捐赠的 Flink CDC 项目正式加入 Apache 基金会
本文整理自阿里云开源大数据平台徐榜江 (雪尽),关于阿里巴巴捐赠的 Flink CDC 项目正式加入 Apache 基金会。
1400 1
官宣|阿里巴巴捐赠的 Flink CDC 项目正式加入 Apache 基金会
|
1月前
|
XML Java Apache
Apache Flink自定义 logback xml配置
Apache Flink自定义 logback xml配置
146 0

推荐镜像

更多