Ubuntu 16.04 + Nginx + Django 项目部署
搭建服务器虚拟环境
在本机进入虚拟环境,执行命令导出当前需要的所有包。
pip freeze > requirements.txt
通过ftp或者scp等软件将项目代码和requirements.txt文件上传到服务器。
mkvirtualenv 虚拟环境名称 #在ubuntu 服务器上新建一个虚拟环境pip install -r requirements.txt #安装你的Django项目 所需要的所有的库
安装uwsgi
pip install uwsgi
配置uWSGI,在项目目录下创建uwsgi.ini文件,配置如下:
[uwsgi]#使用nginx连接时使用#socket=127.0.0.1:8080#直接做web服务器使用http=127.0.0.1:8080#项目目录chdir=/home/jinxp/Desktop/project#项目中wsgi.py文件的目录,相对于项目目录wsgi-file=project/wsgi.pyprocesses=4threads=2master=Truepidfile=uwsgi.piddaemonize=uwsgi.log
启动
uwsgi --ini uwsgi.ini
查看
ps aux|grep uwsgi
启动效果图
在浏览器中输入如下网址:
http://127.0.0.1:8080/ #看你的项目是否可以正常运行
如果项目可以正常运行 将配置中启用socket,禁用http。先停止运行项目
uwsgi --stop uwsgi.pid
uwsgi.ini文件中配置如下:
[uwsgi]#使用nginx连接时使用socket=127.0.0.1:8080#直接做web服务器使用#http=127.0.0.1:8080#项目目录chdir=/home/jinxp/Desktop/project#项目中wsgi.py文件的目录,相对于项目目录wsgi-file=project/wsgi.pyprocesses=4threads=2master=Truepidfile=uwsgi.piddaemonize=uwsgi.log
配置好uwsgi.ini文件配置好 再启动uwsgi。
安装Nginx 见我博客另外一篇文章
https://blog.csdn.net/qq_21415979/article/details/83374686
先停止nginx
sudo sbin/nginx -s stop
指向uwsgi项目
sudo vim conf/nginx.conf
在server节点下添加新的location项,指向uwsgi的ip与端口。
location / {#将所有的参数转到uwsgi下include uwsgi_params;#uwsgi的ip与端口uwsgi_pass 127.0.0.1:8080;}
添加完 nginx.conf 文件中server节点配置如下
server {listen 80;server_name localhost;#charset koi8-r;#access_log logs/host.access.log main;#location / {# root html;# index index.html index.htm;#}location / {#将所有的参数转到uwsgi下include uwsgi_params;#uwsgi的ip与端口uwsgi_pass 127.0.0.1:8080;}
然后启动nginx
sudo sbin/nginx
浏览器输入127.0.0.1看项目是否可以运行 此时运行项目会缺少静态文件
接下来处理项目中的静态文件
所有的静态文件都会由nginx处理,不会将请求转到uwsgi
打开conf/nginx.conf文件。
sudo gedit conf/nginx.conf
在server节点下添加新的location项,用于处理静态文件。
location /static {alias /var/www/project/static/;}
在服务器上创建如下目录。
sudo mkdir -vp /var/www/project/static/
修改目录权限。
sudo chmod 777 /var/www/project/static/
修改project/settings.py文件。
STATIC_ROOT='/var/www/project/static/'STATIC_URL='/static/'
收集所有静态文件到static_root指定目录。
python manage.py collectstatic
输入上面命令会提示你 输入yes或者no 输入 yes回车即可
然后重启nginx服务
启动 sudo sbin/nginx停止 sudo sbin/nginx -s stop
然后打开浏览器输入127.0.0.1,会出现完整的项目
至此 项目全部部署完成
Ubuntu 16.04 + Nginx + Django 项目部署相关推荐
- ubuntu 16.04 Nginx源码部署安装
nginx安装 1.安装zlib依赖库:sudo apt-get install zlib1g-dev 2.进入解压相关文件: tar –xzvf openssl-1.0.1.tar.gz tar – ...
- open edx: ubuntu 16.04原生native 安装部署
1. 引言 openedx作为哈佛大学等美国顶尖大学推出的在线教育平台,在全世界有着广泛的应用.相较于同类的基于php的moodle,openedx核心代码基于python的django框架.现在,o ...
- Ubuntu 16.04 安装Django
> pip install django==1.10.3 ...... 或者: > pip3 install django==1.10.3(我采用) ...... 或者: >pyth ...
- 阿里云 服务器 系统 php mysql_阿里云服务器配环境(Ubuntu 16.04+Nginx+MySQL+PHP)并部署hexo博客...
购买服务器 阿里云向学生出售优惠价格的服务器,一个月只需9.5块,具体配置看图吧 更新Ubuntu源,安装Git 1 2 3sudo apt update sudo apt upgrade sudo ...
- laravel5.5 php7,ubuntu 16.04+nginx+mysql+php7.1+laravel5.5环境
一.安装php7.1 #添加php源 sudo add-apt-repository ppa:ondrej/php #更新apt数据,载入php源数据 sudo apt update #安装php-f ...
- 为VMware vSphere创建Ubuntu 16.04 Terraform模板
为VMware vSphere创建Ubuntu 16.04 Terraform模板 Terraform是HashiCorp创建的自动化工具.它专注于以自动方式部署云基础架构.它支持许多云提供商,例如A ...
- linux创建django项目,Ubuntu 16.04下配置Django项目
记录一次在全新服务器下配置Django项目说明: Linux操作系统:Ubuntu 16.04 Django版本:1.8.7 Python版本:2.7.12 运行模式:Ubuntu+Django+Ap ...
- Ubuntu 16.04 下部署Node.js+MySQL微信小程序商城
本文档为微信小程序商城NideShop服务端api的安装部署教程 服务端api : https://github.com/tumobi/nideshop 微信小程序端 : https://github ...
- Ubuntu 16.04 下部署Node.js+MySQL微信小程序商城 1
本文档为微信小程序商城NideShop服务端api的安装部署教程 服务端api : https://github.com/tumobi/nideshop 微信小程序端 : https://github ...
最新文章
- MySQL主主配置说明
- AI 渗透应用程序开发的七种趋势及方法
- 中国桑叶市发展态势分析与前景动态预测报告场2022-2028年版
- 【数据竞赛】Kaggle GM秘技:树模型初始化技巧
- MySQL数据库-笔记05【查询练习题*25道(附解析)】
- numpy中常用的函数
- 内部类及静态内部类的实例化
- oracle11g 冷备,oracle11G Windows冷备恢复
- easyui datagrid在IE洌览器下reload不能刷新数据
- 【2021ACL】NLP的应用
- GitHub疯传!北大学霸的LeetCode刷题笔记火了
- python读取Himawari-8葵花8标准数据(HSD)
- 推荐10款最好的Python开发编辑器
- 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。剑指Offer(32)
- 2008~2009流行歌曲
- 概率论笔记3.1二维随机变量及其函数分布
- EMLOG模板 自适应Fontopen3 可做企业站
- python循环:打印小星星
- JavaScript 删除数组中为null的元素,过滤数组
- 关于Unity 中的destory 删除与预制体的克隆(怎样避免删除预制体)
热门文章
- node.js——麻将算法(二)赖子玩法
- 机器学习速成课程 | 练习 | Google Development——编程练习:使用神经网络对手写数字进行分类
- 数据清洗-拉格朗日插值
- Spring、SpringMVC、Spring Boot、Spring Cloud 概念、关系及区别
- Kubernetes—动态存储卷配置(StorageClass资源)(十二)
- 【Linux入门学习之】Linux连接文件:硬连接和软连接
- 使用preparedStatement执行sql语句 20210411094249744
- 爬虫 动态生成useragent的功能 fake-useragent库
- django-视图函数 00
- 【转】STM32中的抢占优先级、响应优先级概念