1.pip freeze > plist.txt 在项目的根目录执行命令收集所有的包,环境
ps -ef|grep uwsgi 查看进程是否开启
通过ftp软件将开发好的项目上传到服务器某个目录
使用git命令将项目上传到远程仓库
将setting中ALLOWED_HOSTS = ["*"]
DEBUG = Flash
一.安装创建虚拟环境
3.1 确保系统安装了python3,pip3
检查是否有pip3 命令: pip3 -V
安装
sudo apt install python3-pip
可能出现的错误:无法获得锁 (11:资源暂时不可用)
cd /到无法锁定管理的目录
ls 查看
sudo rm lock 删除 可多删
3.2 安装
sudo pip3 install virtualenv
sudo pip3 virtualenvwrapper
一.
-
cd ~ 回到当前用户
-
ls -alh 找到 .bashrc文件
-
sudo vi .bashrc 打开编辑文件
-
shift + j 到最底部
-
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh
粘贴到底部 -
:wq! 强制保存退出
-
source .bashrc 更新,没提示更新成功
-
mkvirtualenv lenv 创建虚拟环境,自动进入虚拟环境
-
whereis virtualenvwrapper
检查是否安装成功,记住路径
二. 将window项目同步到linux -
sudo apt install git 安装git
-
cd /home
-
ls
-
cd kwx kwx 自己的文件夹
-
ls
-
sudo mkdir 文件名 创建一个文件
-
sudo chmod -R 777 文件名 改权限
-
cd 文件名
-
git clone 远程仓库网址 克隆项目
-
cd 文件名 cd到创建克隆的文件中
-
pip3 install -r plist.txt 安装之前生成的包
-
注意 安装mysqlclient==1.4.2.post1 会失败导致所有的模块不能安装
sudo apt insatall libmysqlclientdev 先安装这个包之后就可以安装mysqlclient
三. 发布uwsgi服务器 -
pip3 install uwsgi 进入虚拟环境 ,安装uwsgi wsgi公共网关服务接口协议
-
ls
-
cd 项目根目录
-
pwd 复制项目路径
-
在window下的项目根目录下方新建uwsgi.ini把下方的代码配置到新建的uwsgi.ini下
[uwsgi]
#(使用nginx连接时,使用socket)
#socket=外网ip:端口
http=0.0.0.0:12000
chdir=项目根目录,把16复制的路径黏贴在这
wsgi-file=项目中的wsgi.py 文件的目录
processes=4 #四个进程
threads=2 #两个线程
master=True # 是主机
pidfile=uwsgi.pid #停止文件
daemonize=uwsgi.log #日志文件 -
git提交 push到远程仓库 确认push成功
-
git pull 在虚拟机中的项目中
-
ls 查看是否pull成功下uwsgi.ini文件
-
uwsgi --ini uwsgi.ini 启动uwsgi.ini文件
uwsgi --stop uwsgi.pid 停止
uwsgi --reload uwsgi.pid 重启 -
ifconfig 查看ip 使用http查看链接ip+端口12000
如果有错在linux系统下的项目中ls查看有uwsgi.log 日志文件可以看错误
vi uwsgi.log 改完不要忘了在pull拉取一下
现在 -
uwsgi --stop uwsgi.pid 停止 每一次启动前都要先停止
-
uwsgi --ini uwssgi.ini 启动 配套来
反复开启会导致关闭不了进程,ps -ef|grep uwsgi 查看第一个进程号,
vi uwsgi.pid 查看是进程号是否一致,不一致无法关闭
将进程号修改一致就可以了,再关闭,启动
四.uwsgi无法查看静态文件,使用nginx服务器部署项目 -
sudo apt install nginx
-
sudo vi /etc/nginx/ nginx.conf 修改nginx配置文件
-
Virtual Host Configs 下空白处添加以下配置,注释不用
server {
listen 0.0.0.0:13000; # nginx的端口
location / {
include uwsgi_params; # 将所有参数转到uwsgi下
uwsgi_pass 0.0.0.0:12000; # uwsgi的ip与端口
}
} -
:wq! 保存退出
-
sudo nginx -s stop 关闭nginx服务器
-
要用nginx服务器,使用socket,之前在 三 17步 里
将uwsig配置文件其中的http修改socket
socket=0.0.0.0:12000
#http=0.0.0.0:12000 -
在进行git,push推送 , git pull拉取 都是在项目中进行
-
uwsgi --stop uwsgi.pid
-
uwsgi – ini uwsgi.ini
-
sudo nginx
-
ps -ef|grep uwsgi
五. nginx 可以进行负载均衡,实现逆向解析 ,静态文件的加载 -
sudo mkdir 文件名 在项目下新建文件
-
sudo chmod -R 777 文件名 修改新文件权限
-
cd 文件
-
pwd 复制路径
-
cd …
-
ls
-
sudo vi settings.py
-
STATIC_ROOT = “新建文件的路径” 五. 37 :wq!
-
python manage.py collectstatic 找到项目根目录中的manage.py 进行静态文件收集
-
cd 文件 五.34 新建的文件中看看是否收集成功
-
sudo vi /etc/nginx/nginx.conf
-
server {
listen 0.0.0.0:13000; # nginx的端口
location / {
include uwsgi_params; # 将所有参数转到uwsgi下
uwsgi_pass 0.0.0.0:12000; # uwsgi的ip与端口
}Location /static { **新添加的** Alias /home/zzy/py1903/demo3/staticroot; } }
-
sudo nginx -s stop
-
sudo nginx
-
ip+ 13000 运行