note:可通过该命令查找文件未知
sudo find / -name filename
一:项目(github)
ssh root@server ip # 连接你的服务器
git clone -b https://mygithub.com # -b 指定分支
安装virtualenv及配置环境变量 详细见:
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
二:配置uwsgi
pip install uwsgi # 安装
在项目根目录创建 uwsgi.ini 名字自取
[uwsgi]# 取决于nginx配置 upstreamsocket = 127.0.0.1:9000socket = 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 详情:
配置环境变量,编辑/etc/profile 增加如下内容:NGINX_HOME= /usr/local/nginxexport PATH=$PATH:$NGINX_HOME/binsource /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...
posted on 2018-09-11 09:14 阅读( ...) 评论( ...)