Ubuntu18.04.1 LTS 下Nginx+uWSGI+Django项目部署

Ubuntu18.04.1 LTS 下Nginx+uWSGI+Django项目部署,第1张

Ubuntu18.04.1 LTS 下Nginx+uWSGI+Django项目部署

因为我图方便,直接使用云服务器(没成功重装了好多次),所以有些图片中出现的IP地址我就打马赛克了!请知悉!

建议

安装系统-检查python环境-安装django和项目依赖包-安装uWSGI-配置uWSGI-安装Nginx-配置Nginx启动参数-然后再启动uWSGI

Python 检查系统的Python环境

$ python3 -V
$ pip3 -V
$ pip3 install --upgrade pip #升级pip
Django

这个Django项目是《Python编程 从入门到实践》中的一个小项目!
这里用的pycharm直接同步到服务器,所以就没有不需要其他什么配置!
项目我分享在了阿里云盘:
[见评论区]
如何使用pycharm同步的话可以看看其他朋友的博客!

需要安装的pip包:

pip3 install django==3.2.9
pip3 install django-bootstrap4==21.1
uWSGI 安装uWSGI
# 安装uWSGI
pip3 install uwsgi
# 查看uWSGI的版本,主要是为什么看看能不能直接运行uwsgi
uwsgi --version

如果d出来是找不到的话,就需要设置一下软链接
路径是我自己的路径,大家根据自己的路径选择!

设置软链接

如果上一步查看版本成功的话可以跳过此步骤!

ln -s 【目标目录】 【软链接地址】
# 这里添加的是:
sudo ln -s /home/ubuntu/.local/bin/uwsgi /usr/bin/uwsgi

创建测试文件

/home/ubuntu/test.py

def application(env, start_response):
    start_response('200 OK', [('Content-Type','text/html')])
    return [b"Hello World!"]
运行测试文件

直接在/home/ubuntu/路径下输入以下命令:

uwsgi --http :8000 --wsgi-file test.py


直接尝试使用uWSGI运行项目:
uwsgi --http :8000 --chdir /home/ubuntu/learning_log/ --wsgi-file learning_log/wsgi.py --master --processes 4 --threads 2 --stats 127.0.0.1:8888

uWSGI配置

配置文件位置:
/home/ubuntu/learning_log/uwsgi/uwsgi.ini

[uwsgi]
socket = 127.0.0.1:8000
chdir = /home/ubuntu/learning_log/
module = learning_log.wsgi
master = true
processes = 4
vacuum = true
Nginx 安装Nginx
sudo apt-get install nginx
配置启动参数:

配置文件位置:

/etc/nginx/sites-enabled/default

server {
    listen 80; 
    server_name 127.0.0.1 10.0.16.16;
    #这里也可以填写多个地址,也可以是服务器的地址,也可以是你的域名地址
    #server_name 服务器的IP地址;

    charset UTF-8;
    access_log /var/log/nginx/learning_log_access.log;
    error_log /var/log/nginx/learning_log_error.log;

    client_max_body_size 75M;

    location / { 
        include uwsgi_params;
        uwsgi_pass 127.0.0.1:8000;
    } 
}

配置完成后重启Nginx

sudo /etc/init.d/nginx restart
Nginx命令参考
/etc/init.d/nginx start #启动
/etc/init.d/nginx stop #停止
/etc/init.d/nginx restart #重启
Nginx文件位置参考

程序文件:/usr/sbin/nginx全局配置文件:/etx/nginx/nginx.conf访问日志文件:/var/log/nginx/access.log错误日志文件:/var/log/nginx/error.log站点配置文件:/etc/nginx/sites-enabled/default 总结

你发现这样做是不是显示502 Bad Gateway!
试试再启动uwsgi.ini

ubuntu@VM-16-16-ubuntu:~$ cd /home/ubuntu/learning_log/uwsgi/
ubuntu@VM-16-16-ubuntu:~/learning_log/uwsgi$ uwsgi --ini uwsgi.ini 

然后再刷新页面看看,是不是成功了???
最后:总感觉这样好像也不能托管项目啊!还得再学习一下,学完再更新。
2022-02-02 16:51:24

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5720793.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-18

发表评论

登录后才能评论

评论列表(0条)

保存