无聊之人--除了技术,还是技术,你懂得
分类: Python/Ruby
2016-05-24 21:53:21
#web项目开发手记-环境搭建
##1开发清单列表
1. 开发平台:windows
2. 开发语言:python 2.7
3. 开发框架:flask+jinja2
4. 前端框架:bootstrap+jquery+echarts+...
5. 缓存系统:redis
6. 服务器 :nginx
6. 数据库系统:oracle/mysql/redis
7. 开发工具:sublime
8. 文档语言:markdown
##2软件配置过程
1. python安装
download url['python']('')
```python
import this
The Zen of Python, by Tim Peters ...
```
安装测试完成。
2. nginx+flask+jinja2安装配置
下载[nginx](''),解压
修改配置文件nginx.conf port=8080,start nginx.exe
``
>Welcome to nginx!
>..........
install['virtualenv']('')
```sh
python setup.py install
*Finished processing dependencies for virtualenv==15.0.1*
*path*;C:\Python27\Scripts **必需将path添加至环境变量**
```
```python
H:\webabc>virtualenv venv
New python executable in H:\webabc\venv\Scripts\python.exe
Installing setuptools, pip, wheel...done.
H:\webabc>mkdir flask
H:\webabc>virtualenv --version
```
```python
(venv) H:\webtools\itsdangerous-0.24>python setup.py install
```
>
下载[jinja2]('')
*Jinja2 is a templating engine for Python*
```python
(venv) H:\webtools\Jinja2-2.8>python setup.py install
```
*Finished processing dependencies for Jinja2==2.8*
下载[Werkzeug]('')
*The Swiss Army knife of Python web development*
```sh
python setup.py install
```
*Finished processing dependencies for Werkzeug==0.11.9*
下载[flask]('')
···
(venv) H:\webtools\Flask-0.10.1>python setup.py install
···
*Finished processing dependencies for Flask==0.10.1*
flask test:
```python
from flask import Flask
app=Flask(__name__)
@app.route("/")
def index():
return "this is my first flask program"
if __name__=='__main__' :
app.run()
```
3. 配置nginx,flask,gunicorn
wsgi的优劣讨论在这里[A Comparison of Web Servers for Python Based Web Applications]('')
ref[config]('')
gunicorn 仅支持*NIX*平台[gunicorn]('')
flask 官网推荐[uWSGI]('')这里我们也对uWGSI进行配置。
download [uwsgi]('')
**cofnig nginx**
```python
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:9090 #pass every request to the server bound to port 9090 speaking the uwsgi protoco
root html;
index index.html index.htm;
}
```
4. redis 安装配置
[windows redis version]('')
python [driver]('')
`(venv) H:\webtools\redis-2.10.5>python setup.py install`
```python
import redis
r = redis.StrictRedis(host='localhost', port=6379, db=0)
print r.set('foo', 'bar')
print r.get('foo')
```
>(venv) H:\webabc\flask\venv>python testredis.py
True
bar
6. oracle 测试
python [oracle driver]('')
```shell
C:\Windows\system32>net start OracleServiceRMFDB
OracleServiceRMFDB 服务正在启动 ...................
OracleServiceRMFDB 服务已经启动成功。
C:\Windows\system32>lsnrctl start
```
测试用例
```python
import cx_Oracle as cx
conn=cx.connect()
cursor=conn.cursor()
cursor.execute('select * from v$version')
resultset=cursor.fetchall()
for row in resutlset:
print row
resultset.close()
```
>H:\webabc\flask\venv>python testora.py
('Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production',)
('PL/SQL Release 11.2.0.1.0 - Production',)
('CORE\t11.2.0.1.0\tProduction',)
('TNS for 32-bit Windows: Version 11.2.0.1.0 - Production',)
('NLSRTL Version 11.2.0.1.0 - Production',)
cx_Oracle USER GUIDE[]('')
关于
##3下载地址
1. [echarts]('','abc')
2. [jinja2]('')
3. [flask2]('')
4. [nginx]('')
5. [nginx2]('en/docs/http/ngx_http_uwsgi_module.html')