Django+Nginx+UWSGI部署项目
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Django+Nginx+UWSGI部署项目,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2982字,纯文字阅读大概需要5分钟。
内容图文
![Django+Nginx+UWSGI部署项目](/upload/InfoBanner/zyjiaocheng/941/6f8215401e774d60b0914b9a0e261075.jpg)
我们在本地写的项目,运行结果只能自己查看,无法让他人使用。
如果想要上线项目,可以通过Django+Nginx+UWSGI的方式,将项目部署在云服务器上,此时其他用户只需输入URL地址,就可使用项目。
部署前服务器相关配置
本文使用的云服务器为阿里云服务器,系统为Ubuntu 18.04。
- 安装依赖环境
apt update
apt -y install man gcc make lsof ssh openssl tree vim dnsutils
apt -y install psmisc sysstat curl telnet traceroute wget iputils-ping
apt -y install net-tools libbz2-dev libpcre3 build-essential
apt -y install libpcre3-dev libreadline-dev libsqlite3-dev
apt -y install libssl-dev llvm zlib1g-dev git zip p7zip
apt -y install mysql-server mysql-client libmysqlclient-dev
- 安装Nginx和UWSGI
apt install nginx
apt install uwsgi
- 安装Python环境
系统自带python3,还需要安装pip3,来进行其他库的安装。
apt install python3-pip
- 安装和配置虚拟开发环境
pip3 install virtualenv
pip3 install virtualenvwrapper
创建目录,用于放置虚拟开发环境。
mkdir ~/.virtualenvs
修改环境变量
vim ~/.bashrc
在最后方添加,依次为虚拟环境目录位置,python位置,virtualenvwrapper.sh文件位置。(根据实际情况更改)
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh
修改完成之后需要source生效
source ~/.bashrc
注:
相关路径查看方法
which python3
find / -name virtualenvwrapper.sh
环境变量配置完毕后,创建针对Django的虚拟开发环境
mkvirtualenv env_django
进入虚拟开发环境
workon env_django
接着将项目上传到服务器(例如放置在/var/www/目录下),然后在虚拟开发环境中安装相关依赖库
# 在项目根目录下执行
pip freeze > requirement.txt
# 接着在虚拟开发环境中执行
pip freeze -r requirement.txt
执行成功之后,项目所需的所有依赖库就安装完毕了。
至此,虚拟环境的安装和配置执行完毕。
Nginx配置
接着需要配置Nginx。
进入目录/etc/nginx/sites-available/,拷贝配置文件进行修改
cd /etc/nginx/sites-available/
cp default blog
vim blog
Nginx的配置如下
server {
# 监听端口,需要在阿里云控制台添加配置,开放此端口
listen 8002;
index index.html index.htm index.nginx-debian.html;
# 服务器IP地址
server_name xxx.xxx.xxx.xxx;
location / {
include uwsgi_params;
# 需要和UWSGI的配置文件保持一致
uwsgi_pass 127.0.0.1:8923;
}
# 项目静态资源路径
location /static {
alias /var/www/simple_blog/static;
}
}
接着进入目录cd /etc/nginx/sites-enabled/,创建软连接
ln -s ../sites-available/blog blog
重启Nginx服务,使修改生效
service nginx restart
此时可以在项目的静态资源目录下新建一个文件(例如1.txt),添加一行数据(例如hello),然后在浏览器输入
http://xxx.xxx.xxx.xxx:8002/static/1.txt
如果返回数据hello,证明Nginx已经正常工作。否则需要处理相关报错信息。
UWSGI配置
首先在虚拟开发环境中安装uwsgi库
pip install uwsgi
之后在项目根目录下创建uwsgi.ini配置文件,内容如下
[uwsgi]
# 外部访问地址,需要和Nginx配置中保持一致
socket = 127.0.0.1:8923
# 项目根目录
chdir = /var/www/simple_blog
module = simple_blog.wsgi:application
master = true
# 日志位置,需要在相关目录下创建存储日志的文件
daemonize = /root/blog/uwsgi_f.log
启动UWSGI
uwsgi --ini uwsgi.ini
至此,UWSGI配置完毕
结果示例
配置完毕后,项目上线就完成了,浏览器输入URL就可对项目进行访问。
内容总结
以上是互联网集市为您收集整理的Django+Nginx+UWSGI部署项目全部内容,希望文章能够帮你解决Django+Nginx+UWSGI部署项目所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。