项目部署:
软件开发完毕后,将开发机器上运行的开发板软件实际安装到服务器上进行长期运行。
部署要分为以下几个步骤进行
1.在安装机器上安装和配置同版本的环境
2.django项目迁移
$sudo scp 当前项目源代码 远程主机地址和文件夹
sudo scp /home/tarena/django/mycite1
root@88.77.66.55:/home/root/xxx
3.用uwsgi替代python manage.py runserver方法启动服务器
4.配置nginx反向代理服务器
5.用nginx配置静态文件路径,解决静态路径问题
1.uWSGI
介绍
-
uWSGI网关接口配置 WSGI是服务器网关接口
-
使用 python manage.py runserver 通常只在开发和测试环境中使用
-
当开发结束后,完善的项目代码需要在一个高效稳定的环境中运行,这是可以使用WSGI
-
uWSGI是WSGI的一种,他实现了http协议 WSGI协议 以及uwsgi协议
安装uWSGI
pip install uwsgi配置uWSGI
(1)修改settings.py将DEBUG=True改成DEBUG=False (2)修改settings.py将ALLOWED_HOSTS = [] 改成ALLOWED_HOSTS = ['网站域名'] 或者 ['服务监听的ip地址'] (3)创建uwsgi.ini(目的:方便启动/终止 uwsgi 服务),并进行配置,代码如下:
[uwsgi]
# 套接字方法的 IP地址:端口号
socket=127.0.0.1:8000
# http通信方式的 IP地址:端口号
# http=127.0.0.1:8000
# 项目当前工作目录(绝对路径)
chdir=/**/myproject
# 项目中wsgi.py文件的目录,相当于当前工作目录
wsgi-file=myproject/wsgi.py
# 进程个数
process=4
# 每个进程的线程个数
threads=2
# 服务的pid记录文件
pidfile=uwsgi.pid
# 服务的日志文件位子
daemonize=uwsgi.log
# 开启主进程管理模式
master=true
uWSGI的运行管理
-
启动服务(进入到settings.py所在目录):
sudo uwsgi --ini uwsgi.ini
输入密码:[自行输入电脑密码]
ps aux|grep ‘uwsgi’ -
ls (查看有无生成uwsgi.pid/log文件)
-
停止服务:
sudo uwsgi --stop uwsgi.pid -
查看端口是否被占用:
sudo lsof -i:8000 -
关掉端口:
sudo kill ***
2.nginx
安装nginx
-
查看
brew info nginx -
替换清华源
export HOMEBREW_BREW_GIT_REMOTE="https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git"
export HOMEBREW_CORE_GIT_REMOTE="https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git"
export HOMEBREW_INSTALL_FROM_API=1
export HOMEBREW_BREW_GIT_REMOTE="https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git"
brew update
-
安装
brew install nginx -
启动nginx
sudo brew services start nginx
Nginx的常用命令
-
启动
brew services start nginx -
停止
brew services stop nginx -
重启
brew services restart nginx -
查看
cat /opt/homebrew/etc/nginx/nginx.conf -
编辑
vim /opt/homebrew/etc/nginx/nginx.conf` -
查看nginx是否运行
ps aux|grep nginx
如果有 nginx: master process 和若干 worker process,说明已启动。 如果只有一条 grep nginx
本身,说明当前没有 Nginx 进程。
配置nginx
-
查看nginx安装位置
ps -ef | grep nginx -
查看nginx配置目录
nginx -t -
修改nginx的配置文件
-
1.进入编辑界面:sudo vim /opt/homebrew/etc/nginx/nginx.conf
在location / 中添加:
{
uwsgi_pass 127.0.0.1:8000;
include /opt/homebrew/etc/nginx/uwsgi_params;
}
- 2.静态资源
1)settings.py中添加:
STATIC_URL = '/static/'
STATIC_ROOT = '项目的绝对路径/static'
2)终端输入
python manage.py collectstatic

400

被折叠的 条评论
为什么被折叠?



