美文网首页我爱编程
学习记录:(二)在AWS的EC2上搭建apache+bottle

学习记录:(二)在AWS的EC2上搭建apache+bottle

作者: 银票大王 | 来源:发表于2017-05-18 17:03 被阅读0次

昨天成功在aws上搭建了apache + django,然后又想再部署一个bottle,因为配置好了mod_wsgi,所以搭建多个python框架就容易多了,但是在虚拟主机配置上也折腾了一段时间。
首先在主配置文件(httpd.conf)里配置apache支持多虚拟站点。
第一步先激活主配置文件中的相关选项:

LoadModule vhost_alias_module modules/mod_vhost_alias.so
Include conf/extra/httpd-vhosts.conf 

因为打算根据端口来访问各个网站,所以删除掉Listen 80这句,然后把昨天配置的内容:

#保留
LoadFile "c:/program files/python/python36/python36.dll"
LoadModule wsgi_module "D:/Program Files/Python/Python36/Lib/site-packages/mod_wsgi/server/mod_wsgi.cp36-win_amd64.pyd"
WSGIPythonHome "D:/Program Files/Python/Python36"

#删掉这句
WSGIPythonPath H:/pythonspace

#剪切到虚拟站点配置文件(httpd-vhosts.conf)里并进行相应的修改
WSGIScriptAlias / C:/pythonspace/mysite/mysite/wsgi.py
<Directory C:/pythonspace/mysite/mysite>
<Files wsgi.py>
Require all granted
</Files>
</Directory>

接下来就是配置虚拟站点文件(httpd-vhosts.conf)了,配置好后是这样的:

Listen 8888
<VirtualHost *:8888>
ServerName 访问地址:8888
DocumentRoot "H:/pythonspace/mybottle"
WSGIScriptAlias / H:/pythonspace/mybottle/app.wsgi

<Directory H:/pythonspace/mybottle>
<Files app.wsgi>
Require all granted
</Files>
</Directory>
#这部分是配置静态文件访问
Alias /static/ H:/pythonspace/mybottle/static/
<Directory H:/pythonspace/mybottle/static>
Require all granted
</Directory>
</VirtualHost>

这样配置好后apache可以顺利启动了,但是!打开网址进行访问时会发现访问出错,查看apache错误日志:
ImportError: No module named ****.settings
网上搜索问题说是找不到项目的路径,要修改项目的wsgi文件,这里不理解,但是照着做,打开app.wsgi文件,添加:

import sys  
sys.path.append('H:/pythonspace/mybottle/')  

保存,重启apache,成功!
app.wsgi文件全部内容为:

import os
import sys

sys.path.append('H:/pythonspace/mybottle')
os.chdir(os.path.dirname(__file__))

import bottle
import hello  #这个就是网站的文件
application = bottle.default_app()

hello.py文件内容为:

from bottle import route

@route('/')   
def show():  
    return "hello world!"

同样的再在文件中添加新的端口指向昨天设置的django站点,这样就能通过端口来访问django或者bottle网站了。

Listen 8889
<VirtualHost *:8889>
DocumentRoot "C:/web/mysite"
ServerName 访问地址:8889
WSGIScriptAlias / c:/web/mysite/mysite/wsgi.py

<Directory c:/web/mysite/mysite>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
</VirtualHost>

注意要在wsgi.py文件里添加上项目路径!

相关文章

网友评论

    本文标题:学习记录:(二)在AWS的EC2上搭建apache+bottle

    本文链接:https://www.haomeiwen.com/subject/fmwsxxtx.html