linux手动部署django项目

django-extensions的使用

参考链接:
https://zhuanlan.zhihu.com/p/342412619

drf_spectacular 的用法(swagger文档生成)

参考链接:
https://page.om.qq.com/page/OPSsHAtJQptUc_bvWV1M6bPA0?source=cp_1009

django-debug-tools的用法

参考链接:
https://www.cnblogs.com/guojie-guojie/p/16330213.html

uwsgi+nginx 启动django项目
先启动uwsgi项目:
uwsgi --ini (项目ini文件路径/uwsgi.ini) # 启动
ps -ef |grep -i uwsgi  # 查看启动端口
uwsgi --stop (项目pid文件路径/uwsgi.pid) # 停止uwsgi

# ini文件配置
[uwsgi]
#项目目录
chdir=/home/project111/nginx_project/teacher
#启动uwsgi的用户名和用户组
uid=root
gid=root
#指定项目的application
module=teacher.wsgi:application
#指定sock的文件路径
socket=/home/project111/nginx_project/teacher/script/uwsgi.sock
#启动进程
master=true
# 进程个数
workers=5
pidfile=/home/project111/nginx_project/teacher/script/uwsgi.pid
# 自动移除unix socket和pid文件,当服务停止的时候
vacuum=true
# 序列化接受的内容,如果可能的话
thunder-lock=true
#启动线程
enable-threads=true
#设置中断时间
harakiri=30
# 设置缓冲
post-buffering=1024
#设置日志目录
daemonize=/home/project111/nginx_project/teacher/script/uwsgi.log

# nginx相关(后启动nginx)
# 编写配置nginx配置文件,所在路径为/etc/nginx/conf.d/xxx.conf
systemctl start nginx # 启动nginx

# 指定配置文件启动nginx,启动前可以使用-t参数是启动前先检查nginx格式是否正确
usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf

systemctl stop nginx # 关闭nginx 或者 killall nginx
netstat -tunlp |grep nginx # 查看进程端口
# nginx基础配置
server {
	listen 8888;
	server_name 0.0.0.0;
	access_log /var/log/nginx/access.log;
	charset utf-8;
	gzip on;
	gzip_types text/plain application/x-javascript text/css text/javascript application/x-httpd-php application/json image/jpeg image/gif image/png application/octet-stream;

	error_page 404 /404.html;
	error_page 500 502 503 504 /50x.html;

	#指定项目路径uwsgi
	location / {
		include uwsgi_params; # uwsgi和nginx的协议,固定格式
		uwsgi_connect_timeout 30;
		uwsgi_pass unix:/home/project111/nginx_project/teacher/script/uwsgi.sock; # unix不能省略
	}
	# 指定静态文件路径
	location /static/ {
		alias /home/project111/nginx_project/teacher/static/;
		index index.html index.htm;
	}
}
view参数request详解
def request_test(request):
    print(request.method) #请求方式
    print(request.GET)  #获取请求url中的参数,是个字典
    print(request.GET.get("XXX")) #获取请求url字典里的数据
	
	print(request.GET.get('xxx',default=1)), # 若请求不到xxx的值,则设为默认值1

    print(request.POST) # 获取请求body里传的参数
    print(request.COOKIES.get("XXX")) #获取请求cookies里面的
    print(request.META.get("HTTP_META")) #获取请求header里面传的meta。这里获取时前面必须有大写HTTP,且这里参数也要大写
    # https://pythondjango.cn/blog/articles/?page=2
    print(request.path)  # 获取请求路径. `/blog/articles/`
    print(request.path_info)  # 【推荐使用】获取请求路径. `/blog/articles/`
    print(request.get_full_path)  # 获取请求路径 ‘blog/articles/?page=2’
    print(request.FILES.get("file_name"))  # 获取请求文件
    print(request.body)#获取请求json
    # json.loads(request.body)
    return HttpResponse("ok")

https://blog.csdn.net/holly_08/article/details/117225210

配置pip国内源

# 创建文件夹/文件,名字路径固定
mkdir ~/.pip
vim ~/.pip/pip.conf

# vim编辑pip.conf后填入
[global]
timeout = 8
index-url =  http://mirrors.aliyun.com/pypi/simple/
extra-index-url= http://pypi.douban.com/simple/

[install]
trusted-host=
   mirrors.aliyun.com
   pypi.douban.com

创建python虚拟环境
# 安装包
pip install virtualenv
pip install virtualenvwrapper
# 把python写入环境变量
echo "export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python" >> ~/.bashrc
echo 'export PATH=/usr/local/bin/virtualenv:$PATH'>>/etc/profile

# 用find指令查找.sh文件

find / -name virtualenvwrapper.sh
#/usr/bin/virtualenvwrapper.sh

# 在~/.bashrc 文件新增配置
export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/workspace
export VIRTUALENVWRAPPER_SCRIPT=/usr/bin/virtualenvwrapper.sh
source /usr/bin/virtualenvwrapper.sh
# 指定虚拟环境运行py文件,前面必须加 #!不能省略

#!/root/.virtualenvs/my_env01/bin/python

PS:最好找一个固定目录,把所有的虚拟环境都放在里面

# 常用指令
# 创建
$ mkvirtualenv my_env01

# 进入
$ workon my_env01

# 退出
$ deactivate

# 列出所有的虚拟环境,两种方法
$ workon
$ lsvirtualenv

# 在虚拟环境内直接切换到其他环境
$ workon my_env02

# 删除虚拟环境
$ rmvirtualenv my_env01
# 列出帮助文档
$ virtualenvwrapper

# 拷贝虚拟环境
$ cpvirtualenv ENVNAME [TARGETENVNAME]

# 在所有的虚拟环境上执行命令
$ allvirtualenv pip install -U pip

# 删除当前环境的所有第三方包
$ wipeenv

# 进入到当前虚拟环境的目录
$ cdsitepackages

# 进入到当前虚拟环境的site-packages目录
$ cdvirtualenv

# 显示 site-packages 目录中的内容
$ lssitepackages

https://zhuanlan.zhihu.com/p/269805011

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值