ngnix+uwsgi+django+python+mysql环境部署

django
一个python的web框架
flask和django

uwsgi
一个Python的容器

nginx
一个web服务器 可以做web容器的前端

client--->nginx(80)--->uwsgi(开端口5000)--->web页面


virtualenv  virtualenvwrapper
    python开发虚拟环境

安装python3:
    下载python3.6
        去官网下载
        #xz -d  压缩包.xz
    准备环境:
        #yum install zlib* openssl* readline* sqlite* -y

    安装python3
        # cd Python-3.6.4
        # ./configure --prefix=/usr/local/python3.6  && make && make install
        # rm -rf  /usr/bin/python
        # ln -s /usr/local/python3.6/bin/python3  /usr/bin/python

     处理yum(python升级之后yum就不能用了,他默认用的2.7)
        # vim /usr/bin/yum    把解释器改成2.7
        # !/usr/bin/python2.7

    给pip做软连接:
    # ln -s /usr/local/python3.6/bin/pip3  /usr/bin/pip

    # vim ~/.bash_profile
        PATH=$PATH:$HOME/bin:/usr/local/python3.6/bin/
     #source ~/.bash_profile

安装django
    # pip install django==1.10

创建django项目:firstsite
    #cd ~
    #django-admin.py startproject firstsite
    #cd ~/firstsite

同步数据库:
    #./manage.py migrate
    #./manage.py createsuperuser

设置静态文件目录:
    # vim firstsite/settings.py   //先找到STATIC关键字,追加下面一行
    STATIC_ROOT = os.path.join(BASE_DIR, "static/")
    #./manage.py collectstatic

测试django是否可用:
    #./manage.py runserver 0.0.0.0:443
    浏览器访问:
    http://xiangmu.buy360.xyz:443

    浏览器访问:
    http://xiangmu.buy360.xyz:443/admin

安装uwsgi:
    #pip install uwsgi

测试uwsgi:
    # uwsgi --http :443 --chdir /root/firstsite -w firstsite.wsgi
     --http  :端口
     --chdri  项目目录
     -w   wsgi模块

创建uwsgi配置文件:
#mkdir -p /etc/uwsgi/sites
# vim /etc/uwsgi/sites/firstsite.ini
[uwsgi]
project = firstsite      //项目名称
username = root      //运行用户
base = /%(username)/         //项目目录的上级目录
chdir = %(base)/%(project)         //项目目录
module = %(project).wsgi:application
master = true
processes = 5
uid = %(username)
socket = /run/uwsgi/%(project).sock
chown-socket = %(username):nginx
chmod-socket = 660
vacuum = true

创建uwsgi启动配置文件:
# vim /etc/systemd/system/uwsgi.service
[Unit]
Description=uWSGI Emperor service

[Service]
ExecStartPre=/usr/bin/bash -c ‘mkdir -p /run/uwsgi; chown root:nginx /run/uwsgi‘
ExecStart=/usr/local/python3.6/bin/uwsgi --emperor /etc/uwsgi/sites
Restart=always
KillSignal=SIGQUIT
Type=notify
NotifyAccess=all

[Install]
WantedBy=multi-user.target

下面两步不做会启动服务不成功:
#mkdir /root/uwsgi
#ln -s /usr/local/python3.6/bin/uwsgi /root/uwsgi/uwsgi

安装nginx:
#yum install nginx

配置nginx:
# vim /etc/nginx/nginx.conf 添加如下虚拟主机配置
server {
    listen 80;
    server_name firstsite.com www.youngfit.cn;

    location = favicon.ico { access_log off; log_not_found off; }
    location /static/ {
        root /root/firstsite;
    }

    location / {
        include uwsgi_params;
        uwsgi_pass unix:/run/uwsgi/firstsite.sock;
    }
}

测试Nginx配置文件语法正确性:
    # nginx -t

设置权限:
# usermod -a -G root nginx
# chmod 710 /root

启动nginx和uwsgi服务:
    #systemctl start nginx
    #systemctl start uwsgi

测试:
浏览器地址栏:http://xiangmu.buy360.xyz

原文地址:http://blog.51cto.com/13523982/2064071

时间: 2024-10-08 06:39:20

ngnix+uwsgi+django+python+mysql环境部署的相关文章

Nginx+uWSGI+Django+Python+ MySQL 搭建可靠的Python Web服务器

一.安装所需工具 yum -y install gcc gcc-c++ rpm-build mysql* libtool-ltdl* libtool automake autoconf libtool make setuptool 二.编译安装python2.7.5 1. 下载python2.7.5,保存到 /data/qtongmon/software http://www.python.org/ftp/python/ 2. 解压文件 tar xvf Python-2.7.5.tar.bz2

【金】nginx+uwsgi+django+python 应用架构部署

网上有很多这种配置,但就是没一个靠普的,费了好大的力气才完成架构部署.顺便记录一下. 一.部署前的说明 先安装好 python,django,uwsgi,nginx软件后.后配置运行的软件是分先后的. 第一个.配置好django项目的/opt/web/testsite/目录和文件 第二个.配置好uwsgi.ini 文件并运行,运行后,会在/opt/web/testsite/目录生成一个tests.sock文件(/opt/web/testsite/tests.sock),用于nginx服务器调用,

nginx+uwsgi+django+python 应用架构部署

系统centos6.5 1,安装配置nginx 和Python yum install nginx python 默认安装的是2.6 需要升级到2.7见教程 2,django 安装 下载当前最新的版本:Django-1.8.5.tar.gz $ wget --no-check-certificate https://www.djangoproject.com/download/Django-1.8.5.tar.gz (备注:--no-check-certificate 免证书认证,不然下载不了h

python中django项目上线环境部署

django项目上线环境部署 第一步 安装python虚拟环境 1 安装虚拟环境virtualenv 2 安装virtualenvwrapper工具 3 确认virtualenvwrapper.sh脚本正常使用 4 确认用户环境变量配置文件,有virtualenvwrapper.sh的四行配置 WORKON_HOME=~/Envs VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages' VIRTUALENVWRAPPER_PYTHON=/op

Django + Uwsgi + Nginx 的生产环境部署

使用runserver可以使我们的django项目很便捷的在本地运行起来,但这只能在局域网内访问,如果在生产环境部署django,就要多考虑一些问题了.比如静态文件处理,安全,效率等等,本篇文章总结归纳了一下基于uwsgi+Nginx下django项目生产环境的部署 准备条件: 1.确保有一个能够用runserver正常启动的django项目 2.项目已上传到linux 3.linux上已部署好python环境,且已安装好项目所需的模块 安装uwsgi uwsgi是python的一个模块,安装u

nginx+uwsgi+python3+pipenv+mysql+redis部署django程序

1.下载项目 git clone https://github.com/wangyitao/MyBlogs.git 2.进入Myblogs目录 cd MyBlogs 3.创建虚拟环境并且安装依赖 pipenv install 4.搭建mysql环境,以及创建数据库和用户 wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm # 下载rpm源 rpm -ivh mysql80-community-rele

Django1.11+Uwsgi+Nginx的生产环境部署

思路:使用runserver可以使我们的django项目很便捷的在本地运行起来,但是这只能在局域网内访问.正式环境部署的话比较安全,而且静态文件的处理方式会比较友好.nginx作为服务器的最前端,负责接收client的所有请求,静态请求由nginx自己处理,非静态请求通过uwsgi传递给django,由django来进行处理. 准备:1  一个django项目,能用runserver启动: 2 服务器基础环境,python2.7+uwsgi:使用pip install uwsgi安装,nignx

Django项目发布 环境部署(下)

上一篇完成了python的安装,接下来安装python的依赖包和项目的依赖包 1.  python-devel 命令:yum -y install python-devel 安装Django1.8.2 pillow django-ckeditor5.4.0 pip3 install django==1.8.2 pip3 install pillow pip3 install django-ckeditor==5.4.0 python uwsgi 上面我们已经完成了python+Django环境的

Django项目发布 环境部署(中)

python环境部署 我们今天学习的内容是如何将Django项目部署到linux服务器上,我们部署的linux系统是centos7首先,我们先在linux上搭建我们的Python3环境: 在这里首先强调一下,Centos7系统自带的Python2我们不要删除,我们要做的是在Python2和python3并存. 1.  安装Python3的依赖包 2.  命令: [[email protected] Desktop]# yum install zlib-devel bzip2-devel open