centos6.5+Django+mysql+nginx+uwsgi
centos6.5+Django+mysql+nginx+uwsgi
1、nginx的安装。这里采用nginx-1.6.0, 建立一个shell脚本然后执行。
- #!/bin/bash
- nginx_version="nginx-1.6.0"
- yum -y install gcc gcc-c++ pcre pcre-devel openssl openssl-devel
- cd soft
- tar zxvf $nginx_version".tar.gz"
- cd $nginx_version
- ./configure --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --with-http_stub_status_module --with-http_ssl_module
- make
- make install
- cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.bak
- /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
- echo "/usr/local/nginx/sbin/nginx" >>/etc/rc.local
- cd ..
- rm -rf $nginx_version
- 这里是iptables的设置
- iptables -F
- iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
- iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
- iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
- iptables -A INPUT -i lo -j ACCEPT
- iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
- iptables -P INPUT DROP
- service iptables save
2.mysql的安装,在这里mysql使用的是5.6.14,新建一个shell脚本粘贴上下面的文字
- #!/bin/bash
- mysql_version="mysql-5.6.14"
- yum -y install vim libevent* libtool* autoconf* libstd* ncurse* bison* openssl*
- cd soft
- tar zxvf cmake-2.8.12.1.tar.gz
- cd cmake-2.8.12.1
- ./configure && make && make install
- cd ..
- rm -rf cmake-2.8.12.1
- tar zxvf $mysql_version".tar.gz"
- cd $mysql_version
- cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
- make && make install
- groupadd mysql
- useradd -g mysql mysql
- chown -R mysql:mysql /usr/local/mysql
- cd /usr/local/mysql
- scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql --ldata=/var/lib/mysql
- cp support-files/mysql.server /etc/init.d/mysql
- chkconfig mysql on
- chmod 755 /etc/init.d/mysql
- service mysql start
- echo "PATH=/usr/local/mysql/bin:$PATH" >> /etc/profile
- echo "export PATH" >> /etc/profile
- source /etc/profile
- mysqladmin -u root password 123456
- cd -
- cd ..
- rm -rf $mysql_version
3.开始安装django,这里使用的是django最新稳定版1.6.5
安装必要的软件包
- yum groupinstall "Development tools"
- yum install zlib-devel bzip2-devel pcre-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel python-devel libxml2 libxml2-devel python-setuptools zlib-devel wget openssl-devel pcre pcre-devel sudo gcc make autoconf automake
安装pip软件
- wget http://pypi.python.org/packages/source/p/pip/pip-1.0.2.tar.gz --no-check-certificate
- tar xvfz pip-1.0.2.tar.gz
- cd pip-1.0.2
- python setup.py install
- pip --version 查看pip是否安装
安装uwsgi
- pip install uwsgi
- uwsgi --version
新建web.py文件,内容如下:
- def application(env, start_response):
- start_response('200 OK', [('Content-Type','text/html')])
- return "Hello World"
然后在终端运行:
- uwsgi --http :8001 --wsgi-file test.py
在浏览器内输入:http://127.0.0.1:8001,看是否有“Hello World”输出。
安装django
- pip install django
- django-admin.py startproject demosite
- cd demosite
- python manage.py runserver 0.0.0.0:8002
在浏览器内输入:http://127.0.0.1:8002,检查django是否运行正常。
配置uwsgi
在/ect/目录下新建uwsgi9090.ini,添加如下配置:
- [uwsgi]
- socket = 127.0.0.1:9090
- master = true //主进程
- vhost = true //多站模式
- workers = 2 //子进程数
- reload-mercy = 10
- vacuum = true //退出、重启时清理文件
- max-requests = 1000
- limit-as = 512
- buffer-sizi = 30000
- pidfile = /var/run/uwsgi9090.pid //pid文件,用于下面的脚本启动、停止该进程
- daemonize = /website/uwsgi9090.log
设置uwsgi开机启动,在/ect/init.d/目录下新建uwsgi9090文件,内容如下:
- #! /bin/sh
- # chkconfig: 2345 55 25
- # Description: Startup script for uwsgi webserver on Debian. Place in /etc/init.d and
- # run 'update-rc.d -f uwsgi defaults', or use the appropriate command on your
- # distro. For CentOS/Redhat run: 'chkconfig --add uwsgi'
- ### BEGIN INIT INFO
- # Provides: uwsgi
- # Required-Start: $all
- # Required-Stop: $all
- # Default-Start: 2 3 4 5
- # Default-Stop: 0 1 6
- # Short-Description: starts the uwsgi web server
- # Description: starts uwsgi using start-stop-daemon
- ### END INIT INFO
- # Author: licess
- # website: http://lnmp.org
- PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
- DESC="uwsgi daemon"
- NAME=uwsgi9090
- DAEMON=/usr/bin/uwsgi
- CONFIGFILE=/etc/$NAME.ini
- PIDFILE=/var/run/$NAME.pid
- SCRIPTNAME=/etc/init.d/$NAME
- set -e
- [ -x "$DAEMON" ] || exit 0
- do_start() {
- $DAEMON $CONFIGFILE || echo -n "uwsgi already running"
- }
- do_stop() {
- $DAEMON --stop $PIDFILE || echo -n "uwsgi not running"
- rm -f $PIDFILE
- echo "$DAEMON STOPED."
- }
- do_reload() {
- $DAEMON --reload $PIDFILE || echo -n "uwsgi can't reload"
- }
- do_status() {
- ps aux|grep $DAEMON
- }
- case "$1" in
- status)
- echo -en "Status $NAME: \n"
- do_status
- ;;
- start)
- echo -en "Starting $NAME: \n"
- do_start
- ;;
- stop)
- echo -en "Stopping $NAME: \n"
- do_stop
- ;;
- reload|graceful)
- echo -en "Reloading $NAME: \n"
- do_reload
- ;;
- *)
- echo "Usage: $SCRIPTNAME {start|stop|reload}" >&2
- exit 3
- ;;
- esac
- exit 0
设置uwsgi开机启动
- chkconfig --add uwsgi9090
- chkconfig uwsgi9090 on
修改nginx的conf文件
- server {
- listen 80;
- server_name localhost;
- location / {
- include uwsgi_params;
- uwsgi_pass 127.0.0.1:9090; //必须和uwsgi中的设置一致
- uwsgi_param UWSGI_SCRIPT demosite.wsgi; //入口文件,即wsgi.py相对于项目根目录的位置,“.”相当于一层目录
- uwsgi_param UWSGI_CHDIR /demosite; //项目根目录
- index index.html index.htm;
- client_max_body_size 35m;
- }
- }
- service uwsgi9090 start
在浏览器输入:http://127.0.0.1,恭喜你可以看到django的“It work”了~
安装mysql-python
- pip install mysql-python
测试django与mysql的连接性
- 在项目中运行python manage.py shell
- 然后
- from django.db import connection
- cursor=connection.cursor()
centos6.5+Django+mysql+nginx+uwsgi的更多相关文章
- CentOS7 + Python3 + Django(rest_framework) + MySQL + nginx + uwsgi 部署 API 开发环境, 记坑篇
CentOS7 + Python3 + Django(rest_framework) + MySQL + nginx + uwsgi 部署 API 开发环境 CentOS7 + Python3 + D ...
- django在nginx uwsgi和tornado异步方案在项目中的体验
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://rfyiamcool.blog.51cto.com/1030776/1397495 ...
- centos7下部署Django(nginx+uwsgi+python3+django)
系统版本 centos7 python版本 使用官方python3.6.3正式版 django版本 使用本文发布时最新的1.11.7 uwsgi版本 使用本文发布时最新的2.0.15 nginx版本 ...
- SLAM+语音机器人DIY系列:(八)高阶拓展——2.centos7下部署Django(nginx+uwsgi+django+python3)
0.安装步骤预览(1)系统默认自带python2.x,所以需要先安装python3.x(2)python2对应pip,python3对应pip3,用源码安装python3后pip3也自动安装了(3)用 ...
- Django 部署(Nginx+uwsgi)
使用 uwsgi 来部署 安装 uwsgi sudo pip install uwsgi --upgrade 使用 uwsgi 运行项目 uwsgi --http :8001 --chdir /pat ...
- CentOS下 Django部署 nginx+uWSGI+Django(二)
该篇内容承接CentOS下 Django部署 uWSGI+Django(一),细节流程可参考此篇内容. 1. 当前系统 CentOS Linux release 7.6.1810 Python 2.7 ...
- nginx+uwsgi 和nginx+gunicorn区别、如何部署
[线上环境部署Django,nginx+uwsgi 和nginx+gunicorn,这两种方案,应该如何选择?] 大家是采用的何种部署方式? 第一种,高并发稳定一点 我们公司使用的是nginx+gun ...
- Nginx+uWSGI+Django+Python+ MySQL 搭建可靠的Python Web服务器
一.安装所需工具 yum -y install gcc gcc-c++ rpm-build mysql* libtool-ltdl* libtool automake autoconf libtool ...
- Ubuntu+Django+Nginx+uWSGI+Mysql搭建Python Web服务器
Ubuntu+Django+Nginx+uWSGI+Mysql搭建Python Web服务器 闲着无聊的时候部署了一个Django项目玩,用vm虚拟机部署的. 准备工作 我使用的系统是Ubuntu16 ...
随机推荐
- Demon_接金币(三个掉落物品预设体,一接物体的工具)
接物体的工具 using UnityEngine; using System.Collections; public class Tool : MonoBehaviour { float hor; V ...
- 枚举的基本使用方法 Enumerations
枚举的基本使用方法 Enumerations Enumeration enum SomeEnumeration{ case enumeration1 case enumeration2 case ...
- android listview综合使用演示样例_结合数据库操作和listitem单击长按等事件处理
本演示样例说明: 1.自己定义listview条目样式,自己定义listview显示列数的多少,灵活与数据库中字段绑定. 2.实现对DB的增删改查,而且操作后listview自己主动刷新. 3.响应用 ...
- Linux控制台下的快捷键
Linux控制台(文本模式)下提高工作效率的快捷键 在Linux环境里,有一些按键有特殊的含意.# Ctrl-U: 擦除一行光标前面的部分.# Ctrl-H: 擦除光标前面的一个字符.# Ctrl-D ...
- [转] JS nodeType返回类型
将HTML DOM中几个容易常用的属性做下记录: nodeName.nodeValue 以及 nodeType 包含有关于节点的信息. nodeName 属性含有某个节点的名称. 元素节点的 node ...
- js上拉加载、下拉刷新的插件
之前在网上找那种下拉刷新,上拉加载的插件,有一款IScroll,但是用起来太麻烦,于是就自己写了款,但依赖于jquery.js,bug肯定有,希望评论提出. js: /* 简洁的下拉刷新,上拉加载插件 ...
- 【网络流#8】POJ 3469 Dual Core CPU 最小割【ISAP模板】 - 《挑战程序设计竞赛》例题
[题意]有n个程序,分别在两个内核中运行,程序i在内核A上运行代价为ai,在内核B上运行的代价为bi,现在有程序间数据交换,如果两个程序在同一核上运行,则不产生额外代价,在不同核上运行则产生Cij的额 ...
- Tomcat 加入windows 服务自启动设置
基于J2ee技术开发,可以运行在Tomcat.weblogic.websphere等J2ee应用服务器上,对于一般访问量不是很高的客户我们推荐使用Tomcat(开源免费),一般情况下Tomcat服务需 ...
- 获取android手机联系人信息
package com.yarin.android.Examples_04_04; import android.app.Activity; import android.database.Curso ...
- mySQL优化 my.ini 配置说明
[mysqld] port = 3306 serverid = 1 socket = /tmp/mysql.sock skip-name-resolve #禁止MySQL对外部连接进行DNS解析,使用 ...