apache
- 安装apache2
sudo apt-get install apache2
- 配置文件
- ubuntu 的 apache2 默认配置文件是
/etc/apache/apache2.conf
,而不是httpd.conf
-
apache2.conf
相当于把httpd.conf
分散开来,include各个文件夹内的配置 - 默认文件目录
html
配置在/etc/apache2/sites-enabled/000-default.conf
- 端口配置在
/etc/apache2/ports.conf
- 常用指令
查看错误信息tail -100 /var/log/apache2/error.log
php
- 安装php
sudo apt-get install php libapache2-mod-php
- apache配置php
- LoadModule选项在
/etc/apache2/mods-enabled/php*.load
- php配置选项在
/etc/apache2/mods-enabled/php*.conf
- 重启apache
sudo systemctl restart apache2
flask
- 安装wsgi
sudo apt-get install libapache2-mod-wsgi-py3
- apache配置wsgi
- LoadModule选项在
/etc/apache2/mods-enabled/wsgi.load
- wsgi配置选项在
/etc/apache2/mods-enabled/wsgi.conf
- 安装python3-pip
sudo apt-get install python3-pip
- 项目配置
- flask项目建议放在
/var/www/
目录下,和默认的html同级 - 我这里创建的是
flaskapp
,下文均用flaskapp
- 建议使用
chmod -R 777 flaskapp
修改访问权限
- 创建虚拟环境
- 强烈建议使用虚拟环境
- 如果用系统默认的python,很可能出现
no module flask
的问题
安装virtualenv
pip3 install virtualenv
创建虚拟环境
cd /var/www/flaskapp
virtualenv venv
激活虚拟环境
source venv/bin/activate
安装flask
pip3 install flask
- 配置项目的wsgi
创建wsgi文件
cd /var/www/flaskapp
sudo nano app.wsgi
# 虚拟环境配置
activate_this = '/var/www/flaskapp/venv/bin/activate_this.py'
exec(open(activate_this).read()) # python3写法
import sys
sys.path.insert(0, '/var/www/flaskapp')
sys.path.insert(1, '/var/www/flaskapp/venv/lib/python3.6/site-packages') # 加入虚拟环境的lib路径
from app import app as application # 注意把这里改为你的app定义所在的位置
- 增加apache虚拟主机
增加conf文件,这里我取名flaskapp
sudo nano /etc/apache2/sites-available/flaskapp.conf
Listen 8000
<virtualhost *:8000>
ServerName 193.112.195.102 #修改服务器,去掉注释
WSGIDaemonProcess mlfans threads=5
WSGIScriptAlias / /var/www/flaskapp/app.wsgi #修改路径,去掉注释
WSGIApplicationGroup %{GLOBAL}
<directory /var/www/flaskapp>
Order deny,allow
Allow from all
</directory>
</virtualhost>
启动虚拟主机
sudo a2ensite flaskapp
重启apache
sudo systemctl restart apache2