Ubuntu下安装Python的Web环境
检查python的版本(Ubuntu自带了python运行环境)
python --version
默认是2.X的版本,如果想使用3.X的版本,可以先删掉 /usr/bin/python 的链接,然后链接到3.X版本的binary上
rm /usr/bin/python
ln -s /usr/bin/python3 /usr/bin/python
安装python的包管理器 pip
apt-get install python3-pip -y
安装MySQL服务器
apt-get install mysql-server -y
※安装过程会提示输入root用户的密码
※安装完成之后,可以运行 mysql_secure_installation 可以启动MySQL的安全配置向导(如果有需要)。
通过配置 ~/.my.cnf 文件,免密码登录MySQL服务器
vim ~/.my.cnf
[client]
user=root
password=rootadmin
安装python操作mysql数据库的库 pymysql
pip3 install pymysql
安装Apache服务器
apt-get install apache2 -y
a2dismod mpm_event #禁用多现成
a2enmod mpm_prefork cgi # 给予apache执行脚本的权限(必须),如果没有打开,这直接显示python文件的内容。
修改apache的配置文件
在/etc/apache2/sites-enabled/000-default.conf 文件中添加如下配置信息
<Directory /var/www/html>
Options +ExecCGI
DirectoryIndex index.py
</Directory>
AddHandler cgi-script .py
测试
root@ubuntu:/var/www/python# mysql
mysql> CREATE DATABASE example;
mysql> USE example;
mysql> CREATE TABLE numbers (num INT, word VARCHAR(20));
编辑测试文件/var/www/index.py,并赋予自行执行权限
#!/usr/bin/python
# Turn on debug mode.
import cgitb
cgitb.enable()
# Print necessary headers.
print("Content-Type: text/html")
print()
# Connect to the database.
import pymysql
conn = pymysql.connect(
db='example',
user='root',
passwd='rootadmin',
host='localhost')
c = conn.cursor()
# Insert some example data.
c.execute("INSERT INTO numbers VALUES (1, 'One!')")
c.execute("INSERT INTO numbers VALUES (2, 'Two!')")
c.execute("INSERT INTO numbers VALUES (3, 'Three!')")
conn.commit()
# Print the contents of the database.
c.execute("SELECT * FROM numbers")
print([(r[0], r[1]) for r in c.fetchall()])
赋予执行权限
chmod 755 index.py
测试在浏览器中输入 http://{host}/ 查看结果
添加对Apache对php脚本的执行,
apt-get install php5 -y
即可
升级python的版本
#
sudo add-apt-repository ppa:fkrull/deadsnakes
sudo apt-get update
sudo apt-get install python3.5
#
cd /usr/bin
sudo rm python
sudo ln -s python3.5 python
问题汇总
- malformed header from script ‘index.py’: Bad header
⇒解决办法:在python脚本文件开头添加print("Content-Type: text/html; charset=utf-8\n")
2.不更改Apache的默认配置文件,新建文件/etc/apache2/sites-available/python.conf,添加如下内容:
<Directory /var/www/python>
Options +ExecCGI
DirectoryIndex index.py
</Directory>
AddHandler cgi-script .py
Alias /python "/var/www/python"
然后创建目录/var/www/python在该目录下编写Python脚本,通过http://{hostname}/python来访问