参考 :https://blog.csdn.net/iloster/article/details/41803383
0.安装python
yum install python
pip install bottle
1. 安装apache
yum install httpd #安装
chkconfig --levels 235 httpd on#启动时运行
vi /etc/httpd/conf/httpd.conf,找到 ServerName ,添加“域名【或ip地址】:80”,保存并退出。
service httpd restart#重启apache
这个时候能访问/var/www/html下的文件了,一般php程序,这样就配置完毕了。
2.安装mod_wsgi
yum install mod_wsgi #很重要,必须
3. 修改httpd.conf
ServerName 1.2.3.4:80 #这个在步骤一种已经设置了
LoadModule wsgi_module modules/mod_wsgi.so #不load也没事,
DocumentRoot "/var/www/bottleapp" #默认目录为bottleapp
WSGIScriptAlias / /var/www/bottleapp/app.wsgi #增加此行
<Directory "/var/www/bottleapp"> #配置详情
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
4. 在bottleapp中存放3个文件
----bottle.py #框架库。这个可以不要,因为已经执行了pip install bottle了。
----app.wsgi #后缀也可以是.py,对应的其他地方的app.wsgi 也要改为app.py
import os,bottle,sys sys.path = ['/var/www/bottleapp/'] + sys.path os.chdir(os.path.dirname(__file__)) import hello application = bottle.default_app()
----hello.py
from bottle import route, run @route('/hello') def hello(): return "Hello World!" #run(host='localhost', port=8080, debug=True)
5.注意,python代码修改后,最好systemctl restart httpd重启一下服务器,否则新代码会不太稳定。
配置虚拟主机地址如下
例如场景:apache主要运行php环境【80端口】。笔者希望在不影响原来的配置框架的基础上新开一个8082端口,用来运行bottle。
--------------------------------------------------------------------------
--------------------------------------------------------------------------
--------------------------------------------------------------------------
--------------------------------------------------------------------------
--------------------------------------------------------------------------
红色部分为新增配置。
Listen 80 #原来就有的配置。
Listen 8082
<VirtualHost *:8082>
ServerName 41.114.129.143 #这里要注意,写ip地址,访问域名有时候会出错;尽量写需要测试或者用的servername类型
DocumentRoot "/var/www/bottleapp"
#WSGIDaemonProcess bottleapp user=apache group=apache processes=1 thread s=5
WSGIScriptAlias / /var/www/bottleapp/app.wsgi
<Directory "/var/www/bottleapp">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
</VirtualHost>