note:可经过该命令查找文件未知html
sudo find / -name filenamepython
一:项目(github) nginx
ssh root@server ip # 链接你的服务器git
git clone -b https://mygithub.com # -b 指定分支github
安装virtualenv及配置环境变量 详细见:http://www.javashuo.com/article/p-zdsethda-hb.htmlsql
mkvirtualenv envname -p python3 # 建立项目使用的python版本的虚拟环境,建立成功默认回进入该虚拟环境 pip install -r requirements.txt # 安装项目依赖 python manage.py runserver # 保证项目可以运行
note:!!!数据库
使用数据库为sqlite3可能会出现以下错误: django.db.utils.NotSupportedError: URIs not supported 应该修改根据错误提示的路径下的base.py文件 if self.features.can_share_in_memory_db: kwargs.update({'uri': True}) # 将此处的True改成False return kwargs
二:配置uwsgidjango
pip install uwsgi # 安装服务器
在项目根目录建立 uwsgi.ini 名字自取ssh
[uwsgi] # 取决于nginx配置 upstream socket = 127.0.0.1:9000 socket = 127.0.0.1:9001 # 项目根目录 chdir = /home/jason/projectName# Django的wsgi文件 module = projectName.wsgi # Python虚拟环境的路径 home = /home/user/.virtualenvs/envname/bin/python # 进程相关的设置 # 主进程 master = true # 最大数量的工做进程 processes = 1 # 感受跟服务器cpu有关,反正我单核设置成2就会致使浏览特别慢 # 设置socket的权限 chmod-socket = 666 # 退出的时候是否清理环境 vacuum = true # 静态文件 绝对地址 static-map = /static=/home/user/projectName/static
三:nginx 配置
安装nginx 详情:http://www.javashuo.com/article/p-cqapzoiq-gx.html
配置环境变量,编辑/etc/profile 增长以下内容: NGINX_HOME= /usr/local/nginx export PATH=$PATH:$NGINX_HOME/bin source /etc/profile # 重启配置信息
mkdir conf.d # 在nginx.conf目录下建立文件 cd conf.d # 进入 touch project.conf # 建立nginx配置文件,配置此项目的配置信息
在nginx.conf中的http块的最后面, include usr/local/nginx/conf/conf.d/project.conf # 将该配置文件加载到nginx.conf配置中
nginx -s reload # 重启nginx服务 若是没有权限,切换为root用户重启
upstream anyname { server 127.0.0.1:9000 weight=3; # 两台服务器 与 wsgi配置相关 weight=3, 9000端口处理3个请求,9001处理第四个请求。以此循环 server 127.0.0.1:9001; } # 配置服务器 server { # 监听的端口号,经过服务器ip监听的端口 listen 80; # 域名 or ip server_name your server ip; charset utf-8; # 最大的文件上传尺寸 client_max_body_size 75M; # 静态文件访问的url, nginx再次加载静态文件 location /static { # 静态文件地址 alias /home/user/projectName/static; } # 最后,发送全部非静态文件请求到django服务器 location / { include uwsgi_params;
# uwsgi_pass 127.0.0.1:9000; # uwsgi.ini 的socket参数相同 or
uwsgi_pass anyname; # upstream anyname
uwsgi_param UWSGI_SCRIPT projectName.wsgi; # wsgi.py文件
uwsgi_param UWSGI_CHDIR /home/user/projectName; # 指定项目目录
index index.html index.html;
client_max_body_size 35m; } }
四:启动uwsgi
uwsgi --ini uwsgi.ini
就能够经过 服务器域名或ip访问了
可是这样会有个问题,断开ssh链接,改进程也就被kill了。为此,咱们可使用screen
五: screen
yum install screen
出现该错误:
Error downloading packages: ...
执行 : yum clean all, 再重yum ... 我就ok了。
经常使用命令:
screen -S qugemingzi # 建立会话窗口,并取名 Ctrl+a+d # 暂时退出窗口
exit # 结束会话
screen -r qugemingzi # -r + name回到以前的窗口 查看会话列表: screen -ls 恢复以前离开的会话:screen -r 会话名或进程号 清除dead状态的会话:screen -wipe 启动一个开始就是Detached状态的会话:screen -dmS 名字 命令
1.建立一个会话窗口:screen -S name
2.在次窗口中运行第四不命令: uwsgi --ini uwsgi.ini
3. 将该会话挂起: Ctrl + a + d
这样断开ssh 链接,也不会中断进程了。。。
perfect...