ubuntu配置apache、php、python-flask

apache

  1. 安装apache2
    sudo apt-get install apache2
  2. 配置文件
  • 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
  1. 常用指令
    查看错误信息tail -100 /var/log/apache2/error.log

php

  1. 安装php
    sudo apt-get install php libapache2-mod-php
  2. apache配置php
  • LoadModule选项在/etc/apache2/mods-enabled/php*.load
  • php配置选项在/etc/apache2/mods-enabled/php*.conf
  1. 重启apache
    sudo systemctl restart apache2

flask

  1. 安装wsgi
    sudo apt-get install libapache2-mod-wsgi-py3
  2. apache配置wsgi
  • LoadModule选项在/etc/apache2/mods-enabled/wsgi.load
  • wsgi配置选项在/etc/apache2/mods-enabled/wsgi.conf
  1. 安装python3-pip
    sudo apt-get install python3-pip
  2. 项目配置
  • flask项目建议放在/var/www/目录下,和默认的html同级
  • 我这里创建的是flaskapp,下文均用flaskapp
  • 建议使用chmod -R 777 flaskapp修改访问权限
  1. 创建虚拟环境
  • 强烈建议使用虚拟环境
  • 如果用系统默认的python,很可能出现no module flask的问题
    安装virtualenv
    pip3 install virtualenv
    创建虚拟环境
    cd /var/www/flaskapp
    virtualenv venv
    激活虚拟环境
    source venv/bin/activate
    安装flask
    pip3 install flask
  1. 配置项目的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定义所在的位置
  1. 增加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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容