Django开发的网站在Ubuntu部署时无法启动运行启动运行Gunicorn和Django

问题遇到的现象和发生背景 开发的前后端分离网站,在本地Ubuntu主机部署时,Nginx已启动成功,但是到了最后一步无法启动运行Gunicorn和Django。
用代码块功能插入代码,请勿粘贴截图

一、创建的Gunicorn启动配置文件/home/byhy/bysms_back_v1.5/bysms/gunicorn_conf.py代码如下:
import sys,os
bind = '127.0.0.1:8000' # gunicorn/django 服务监听地址、端口
workers = 3 #gunicorn worker进程个数
worker_class = "gevent" # gunicorn worker类型,使用异步event类型IO效率比较高
errorlog = "/home/byhy/gunicorn.log" # 日志文件路径
loglevel = "info"
cwd = os.getcwd()
sys.path.append(cwd)

二、配置Ubuntu 启动Gunicorn的shell脚本/home/byhy/bysms_back_v1.5/run.sh的代码如下:
#!/bin/bash
DIR="$( cd "$( dirname "$0" )" && pwd )"
echo $DIR
cd $DIR

ulimit -n 50000

nohup gunicorn --config=bysms/gunicorn_conf.py bysms.wsgi &> /dev/null &

三、进入到目录 bysms_back_v1.5 中,执行命令,让启动脚本“run.sh”转换成符合linux系统的文本格式,并且有可执行权限:
dos2unix run.sh
chmod +x run.sh

四、启动运行Gunicorn和Django。执行命令./run.sh,运行脚本,执行命令ps -ef | grep python |grep gunicorn_conf |grep -v grep
查看是否启动成功,结果没有显示gunicorn和python启动的进程信息,并且实际运行网站时报错404,如下图:

img

运行结果及报错内容 打开网站报错:404 Not Found

nginx/1.22.0 (Ubuntu)

我的解答思路和尝试过的方法
我想要达到的结果 需要成功启动运行Gunicorn和Django,并能成功打开网站。

先手工启动下,看有啥错误信息,是不这个gunicorn命令找不到啊

gunicorn --config=bysms/gunicorn_conf.py bysms.wsgi

嗯,这算是比较完整的实例,提供以作参考【Ubuntu 16.04 上使用Nginx、 Gunicorn、supervisor 部署django项目】,链接:https://www.jianshu.com/p/8ce8fc7077ee

参考一下


[uwsgi]
# 设置 django项目的位置 
chdir=/home/gck/app/terminal
# 设置 wsgi协议的入口
module=terminal.wsgi:application
# 设置是否使用主进程
master=True
# 设置主进程启动的程序文件 
pidfile= uwsgi.pid
# 清除 uwsgi服务器在运行过程中产生的垃圾
vacuum = True
# 设置允许的最大请求数
max-requests = 5000
# 设置 uwsgi 服务器在运行过程中 产生的日志存放的位置
daemonize = uwsgi.log
# 设置 django的 环境(配置文件)
env = DJANGO_SETTINGS_MODULE=terminal.settings
# 设置 访问 django项目的 IP 和端口
socket = 192.168.64.128:8000
# 设置启动 uwsgi 的进程数
processes = 5
# 设置项目的虚拟环境 
venv = /home/gck/app/terminal/venv
# 设置 python关联
plugin = python3