to linux

apt-get update   // 更新 apt
sudo apt-get install git // 安装git
git clone git://github.com/yyuu/pyenv.git ~/.pyenv // 下载 pyenv echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
exec $SHELL -l // 查看可安装版本
pyenv install --list // 安装python依赖
sudo apt-get install libc6-dev gcc
sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm // 安装python
pyenv install 3.5.2

注:安装pyenv 后要重新打开会话 或者 source ~/.bash_profile

useradd mvly  // 创建用户

passwd mvly  // 设置密码

1、pyenv global 3.6.4 // 全局切换python版本
2、pyenv local 3.6.4 // 当前文件夹下python版本

virtualenv:

git clone git://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv  // 安装pyenv-virtualenv插件
pyenv  virtualenv 3.6.4 ident // 基于3.6.4 创建环境

然后 直接在某个项目下。pyenv local ident 可切换到对应的环境

pip install uwsgi 切换环境之后,在当前 virtualenv下安装uwsgi

安装:Nginx

  

apt-get install nginx
然后:
/etc/init.d/nginx start # 启动
/etc/init.d/nginx stop # 停止
/etc/init.d/nginx restart # 重启 安装uwsgi
apt-get install python-dev
在django目录下创建:
# test.py
def application(env, start_response):
start_response('200 OK', [('Content-Type','text/html')])
return ["Hello World"] # python2
#return [b"Hello World"] # python3 执行以下命令:
uwsgi --http :8001 --plugin python --wsgi-file test.py curl "http://localhost:8001" 测试是否发布成功

安装mysql

  

apt-get install mysql-server
mysql -uroot -p 测试是否安装成功
现在设置mysql允许远程访问,首先编辑文件/etc/mysql/mysql.conf.d/mysqld.cnf: 真实生产环境就算了。

sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf

注释掉bind-address = 127.0.0.1:

service mysql restart // 重启服务

 ------- 远程测试连接

安装 mysqlclient 报  OSError: mysql_config not found

则 安装依赖: apt-get install libmysqlclient-dev python3-dev

python manager.py runserver 查看能不能运行

Nginx+uwsgi+Django

  

myweb/

├── manage.py

├── myweb/

│   ├── __init__.py

│   ├── settings.py

│   ├── urls.py

│   └── wsgi.py

└── myweb_uwsgi.ini

  创建myweb_uwsgi.int

  

# myweb_uwsgi.ini file
[uwsgi] # Django-related settings socket = :8000 # the base directory (full path)
chdir = /home/fnngj/pydj/myweb # Django s wsgi file
module = myweb.wsgi # process-related settings
# master
master = true # maximum number of worker processes
processes = 4 # ... with appropriate permissions - may be needed
# chmod-socket = 664
# clear environment on exit
vacuum = true
// 运行uwsgi 查看是否有错误
uwsgi --ini myweb_uwsgi.ini

再接下来要做的就是修改nginx.conf配置文件。配置nginx: /etc/nginx/sites-enabled/default

  

……
server {
listen ;
server_name 127.0.0.1
charset UTF-8;
access_log /var/log/nginx/myweb_access.log;
error_log /var/log/nginx/myweb_error.log; client_max_body_size 75M; location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8000;
uwsgi_read_timeout 2;
}
location /static {
expires 30d;
autoindex on;
add_header Cache-Control private;
alias /home/fnngj/pydj/myweb/static/;
}
} include 必须指定为uwsgi_params;而uwsgi_pass指的本机IP的端口号与myweb_uwsgi.ini配置中的文件中的必须一致。
……

重启nginx ; service nginx stop; service nginx start;

然后,访问:http://127.0.0.1:8099/

  记得关闭安全组策略哦。

上一篇:tkinter做一个简单的登陆页面(十六)


下一篇:selenium自动化测试在富文本中输入信息的方法