ubuntu16.04 配置php和python共用一个web容器(apache)

先说一下运行环境要求:

系统:ubuntu server 16.04

后端环境:PHP5.6,python2.7

数据库:mysql mongodb

 

1.安装mongodb

# apt-get install mongodb

安装完成,如下图所示

但是这时候的mongo只能本机连接,所以需要修改一下mongo的配置,将bind_ip绑定到本地回环

#vi /etc/mongodb.conf

重启一下mongodb 服务

#service mongodb restart

2.python 运行环境的安装

2.1python pip的安装

# apt-get install python-pip

2.2flask pymongo安装

安装flask

# pip install flask

安装pymongo

# pip install pymongo

相关的环境安装完成后,可以使用 pip list 命令查看

3.mysql 安装

输入以下命令

 # apt-get install mysql-server

当要求输入数据库用户的根用户密码,设置 root@root

如下图所示:

 

 4.php apache 安装

以下命令依次执行即可

# apt install software-properties-common

#add-apt-repository ppa:ondrej/php

#apt-get update

#apt-get -y install apache2 php5.6 libapache2-mod-php5.6 php5.6-mcrypt php5.6-mysql

 

5.flask嵌入apache服务器配置

安装wsgi模块并配置后端应用

#apt-get install apache2 libapache2-mod-wsgi

进入python 后端代码根目录,创建一个.wsgi文件并写入以下内容

假设后端代码根路径为:/var/www/appRoot, 新建一个index.wsgi 

写入以下内容:

import sys                                                                 

sys.path.insert(0, '/var/www/appRoot')

 

from index import app as application

 

创建apache的配置文件

#vi /etc/apache2/sites-available/index.conf

在文件中输入:

<VirtualHost *:8082>

    ServerName cml 

    ServerAdmin cml@qq.com

    WSGIScriptAlias / /var/www/appRoot/index.wsgi

    <Directory /var/www/appRoot>

        Order allow,deny

        Allow from all

    </Directory>

    ErrorLog /var/www/appRoot/appRoot-error.log

    LogLevel warn

    CustomLog /var/www/appRoot/appRoot-access.log combined    

</VirtualHost>

使配置生效

#a2ensite index.conf

上面是配置flask应用的端口及根目录的路径,日志,访问权限,但是这还不够,还要修改apache的监听端口配置

修改apache端口监听配置

#vi /etc/apache2/ports.conf

加入Listen 8082

这样apache就会监听80和8082端口,访问的时候是php的,8082是python flask的,最后重启一下apache

重启apache

#/etc/init.d/apache2 restart

 

posted @ 2019-08-22 17:13  makalo  阅读(422)  评论(0编辑  收藏  举报