Nginx+uwsgi部署django

1. 安装nginx

sudo apt-get install nginx

查看nginx是否启动:

ps aux|grep nginx

2. 查看IP地址:

ifconfig

- 注意虚拟机要的网络连接方式要设成桥接的

- 在浏览器中运行此ip,看是否是nginx欢迎界面

3. 安装并设置mysql:

3.1 安装mysql

sudo apt-get install mysql-server

设置密码:root

测试mysql是否安装成功

mysql -u root -p

输入密码root

退出

3.2 更改mysql的IP绑定0.0.0.0:

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
bind-address = 0.0.0.0

重启mysql:

sudo service mysql restart

3.3 权限分配:

进入mysql:mysql -u root -p,输入密码,运行代码

GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘root‘ WITH GRANT OPTION;

刷新权限:

FLUSH PRIVILEGES;

3.4  在windows中打开Navicat创建连接

连接测试成功后,点确定

然后新建数据库mxonline

然后在Windows本地的数据库django-mxonline,传输数据库过去到刚刚创建的数据库mxonline。

4. python环境和虚拟环境安装配置

4.1 安装pip

sudo apt-get install python-pip

4.2 安装virtualenv

pip install virtualenv

4.3 安装virtualenvwrapper

pip install virtualenvwrapper

4.4 配置workon

vim ~/.bashrc
# 编辑bashrc文件

export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/workspace
export VIRTUALENVWRAPPER_SCRIPT=/home/alon/.local/bin/virtualenvwrapper.sh #先find一下具体位置,替换
source /home/alon/.local/bin/virtualenvwrapper_lazy.sh #先find一下具体位置,替换

配置完bashrc文件后,切记source一下,才能生效

source ~/.bashrc

然后尝试创建虚拟环境

mkvirtualenv mxonline

若出现:virtualenvwrapper could not find virtualenv in your path 错误

这是因为我们的virtualenv的路径不对,我需要创建一个软链接


先 find / -name virtualenv,看一下是哪个路径,我的是/home/alon/.local/bin/virtualenv
然后创建软链接:sudo ln -s /home/alon/.local/bin/virtualenv /usr/local/bin/virtualenv

然后再创建虚拟环境

mkvirtualenv mxonline

4.5 安装requirements.txt

导出

在Windows导出requirements,复制内容到虚拟机新建的requirements.txt

Django==1.9.8
django-crispy-forms==1.6.1
django-formtools==2.0
django-pure-pagination==0.3.0
django-simple-captcha==0.4.6
DjangoUeditor==1.8.143
future==0.16.0
httplib2==0.9.2
MySQL-python==1.2.5
olefile==0.44
Pillow==4.1.1
PyMySQL==0.7.11
six==1.10.0
xlrd==1.0.0

安装

pip install -i https://pypi.douban.com/simple/ -r requirements.txt

若遇到 EnvironmentError: mysql_config not found

解决方案

sudo apt-get install libmysqlclient-dev

解决问题后,再重新

pip install -i https://pypi.douban.com/simple/ -r requirements.txt

12. 安装git:sudo apt-get install git
clone项目到虚拟机 git clone [email protected]:BingmingWong/mxonline.git

13. 试运行python manage.py runserver 0.0.0.0:8000
若出现django.db.migrations.exceptions.NodeNotFoundError
则把所有apps下的migration删除
然后再在Windows中输入192.168.0.114:8000看是否可以访问

14. 安装uwsgi:pip install uwsgi
15. uwsgi --http :8000 --module MxOline.wsgi
执行完后,到Windows中输入192.168.0.114:8000看是否可以访问(正常可以访问了,但是没有css样式)

16. 配置nginx
-------------------------------------
# the upstream component nginx needs to connect to
upstream django {
# server unix:///path/to/your/mysite/mysite.sock; # for a file socket
server 127.0.0.1:8000; # for a web port socket (we‘ll use this first)
}
# configuration of the server

server {
# the port your site will be served on
listen 80;
# the domain name it will serve for
server_name 192.168.0.114; # substitute your machine‘s IP address or FQDN
charset utf-8;

# max upload size
client_max_body_size 75M; # adjust to taste

# Django media
location /media {
alias /home/wongbingming/mxonline/media; # 指向django的media目录
}

location /static {
alias /home/wongbingming/mxonline/static; # 指向django的static目录
}

# Finally, send all non-media requests to the Django server.
location / {
uwsgi_pass django;
include uwsgi_params; # the uwsgi_params file you installed
}
}
---------------------------------

17. sudo ln -s uc_nginx.conf /etc/nginx/conf.d
18. 重启nginx:sudo service nginx restart

19.
在django的setting文件中,添加下面一行内容:
STATIC_ROOT = os.path.join(BASE_DIR, "static")
运行命令
python manage.py collectstatic

时间: 2024-10-04 20:22:10

Nginx+uwsgi部署django的相关文章

nginx + uwsgi 部署 Django+Vue项目

nginx + uwsgi 部署 Django+Vue项目 windows 本地 DNS 解析 文件路径 C:\Windows\System32\drivers\etc 单机本地测试运行方式,调用django第三方的wsgifef单机模块,性能很低 python3 manage.py runserver 0.0.0.0:8000 使用uwsgi 去启动django项目,支持并发更多 准备前后端代码 先从vue前端搞起 解决node环境 更改vue发送请求的接口地址, 这个vue发送的地址,应该是

结合Nginx+Uwsgi部署Django项目

大致想法以及背景: 刚开始创建Django项目,可以通过runserver命令更方便地调试程序,但是如果当一个项目完成了之后,需要部署到真正的环境,就需要考虑其稳定性.之前在写毕设的时候,写过一个自动化运维监控的项目,部署在自己的阿里云服务器上.那时候没啥经验,直接一个(pyhon runserver 0.0.0.0:8888 &)让项目在后台自己跑.所以对一些项目挂掉,数据库连接失败等问题不能够及时定位解决.所以现在花点时间结合Nginx+Uwsgi部署自己的项目,利用Nginx处理静态资源请

nginx+uwsgi部署django的简单介绍

1.安装django  环境ubuntu:sudo pip install django 2.新建一个django项目 命令:django-admin.py startproject  wlwebsite1 启动项目:python manage.py runserver 0.0.0.0:8000 浏览器查看,如下显示即正常 3.django项目有了,现在安装uwsgi 环境ubuntu:sudo pip install uwsgi 安装成功后看uwsgi版本:uwsgi --version ws

生产环境使用Nginx+uwsgi部署Django

在本地运行django应用相对来说还是挺方便的,使用自带的runserver启动即可.如果在生产环境部署django,就要多考虑一些问题了.比如静态文件处理,安全,效率等等 在网上找到了不错的部署的教程,讲解的还是很详细的,我就不重新再整理了. 五步教你实现使用Nginx+uWSGI+Django方法部署Django程序(上) – Django中国社区五步教你实现使用Nginx+uWSGI+Django方法部署Django程序(下) – Django中国社区 但是作为记录,我还是要记录下部署中遇

nginx+uwsgi部署django项目

操作可参考http://www.linuxyw.com/353.html (nginx+uwsgi+django+python环境部署文档) 这里只说明几点我的配置 环境: Nginx版本:1.7.9 Django版本: 1.6.8 Python版本:2.7.5 Uwsgi版本:2.0.9 安装MySQL-python: 最好源码安装,yum install -y MySQL-python可能因为路径问题import MySQLdb失败,下载地址: http://sourceforge.net/

使用nginx+uwsgi部署django应用

使用过django来开发网页的人都知道,django的manage.py自带了一个runserver命令,这个命令使得本地调试非常方便,然而在真正上线网站时对并发能力的支持非常重要,本教程教你用nginx+uwsgi来将django应用部署在服务器上. 教程: 1.首先保证django项目在本地调试完毕.(这是废话) 2.在服务器安装好nginx和uwsgi两个软件.(yum或者apt-get) 3.找到nginx.conf文件(位置在/usr/local/nginx/conf/nginx.co

使用Nginx+uWSGI部署Django项目

1.linux安装python3环境 参考链接:https://www.cnblogs.com/zzqit/p/10087680.html 2.安装uwsgi pip3 install uwsgi ln -s /usr/local/python3/bin/uwsgi /usr/local/bin/uwsgi #建立软链接 uwsgi --version #检查安装成功 3.基于uwsgi+django项目部署 django项目目录结构(orange_manage为app): uwsgi --ht

nginx+uwsgi 部署 django

预装:nginx,  django Django站点tree |Site |-----Blog(自建的项目) |-----Manage.py |-----Site(setting url wsgi-.) |       |-----wsgi.py |-----static |       |-----js |  |-----css |-----uwsgi.log |-----uwsgi-socket.xml 1.      libxml2.libxml2-devel.uwsgi 1.1 安装 注

Debian7下初次尝试Nginx+Uwsgi部署Django开发环境

之前一直都用的是新浪的SAE,但是由于各种限制,各种不爽,终于下定决心开始折腾VPS,于是在搬瓦工上买了个年付VPS,开始折腾之旅. 由于对Linux一窍不通,所以不知道如何在Linux上部署开发环境,因此事先查询了好多的资料,找到几篇可以参考的文章,由于系统版本,Nginx版本,Python版本不同,配置的情况可能也略有不同,所以先照着别人的折腾看看. debian一般默认就安装有python,所以省略这一步,不过有些系统python版本太低,需要先升级Python到需要的版本,怎么升级就不介

通过nginx+uwsgi部署django应用

上传应用 # 创建虚拟环境 pyenv virtualenv online # 进入工程目录,安装包 pip install -r requirements.txt #测试 python manage,py runserver 访问httP://ip:8000 安装uwsgi 1 # 进入虚拟环境 2 pyenv activate online 3 4 pip install uwsgi 5 6 # 测试uwsgi 7 uwsgi –http :8000 –module online.wsgi