centos6.5+Django+mysql+nginx+uwsgi

1、nginx的安装。这里采用nginx-1.6.0, 建立一个shell脚本然后执行。

  1. #!/bin/bash
  2. nginx_version="nginx-1.6.0"
  3. yum -y install gcc gcc-c++ pcre pcre-devel openssl openssl-devel
  4. cd soft
  5. tar zxvf $nginx_version".tar.gz"
  6. cd $nginx_version
  7. ./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
  8. make
  9. make install
  10. cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.bak
  11. /usr/local/nginx/sbin/nginx  -c /usr/local/nginx/conf/nginx.conf
  12. echo "/usr/local/nginx/sbin/nginx" >>/etc/rc.local
  13. cd ..
  14. rm -rf $nginx_version
  1. 这里是iptables的设置
  1. iptables -F
  2. iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
  3. iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
  4. iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
  5. iptables -A INPUT -i lo -j ACCEPT
  6. iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
  7. iptables -P INPUT DROP
  8. service iptables save

2.mysql的安装,在这里mysql使用的是5.6.14,新建一个shell脚本粘贴上下面的文字

  1. #!/bin/bash
  2. mysql_version="mysql-5.6.14"
  3. yum -y install vim  libevent*  libtool* autoconf* libstd* ncurse* bison* openssl*
  4. cd soft
  5. tar zxvf cmake-2.8.12.1.tar.gz
  6. cd cmake-2.8.12.1
  7. ./configure && make && make install
  8. cd ..
  9. rm -rf cmake-2.8.12.1
  10. tar zxvf $mysql_version".tar.gz"
  11. cd $mysql_version
  12. 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
  13. make && make install
  14. groupadd mysql
  15. useradd -g mysql mysql
  16. chown -R mysql:mysql /usr/local/mysql
  17. cd /usr/local/mysql
  18. scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql --ldata=/var/lib/mysql
  19. cp support-files/mysql.server /etc/init.d/mysql
  20. chkconfig mysql on
  21. chmod 755 /etc/init.d/mysql
  22. service mysql start
  23. echo "PATH=/usr/local/mysql/bin:$PATH" >> /etc/profile
  24. echo "export PATH" >> /etc/profile
  25. source /etc/profile
  26. mysqladmin -u root password 123456
  27. cd -
  28. cd ..
  29. rm -rf $mysql_version

3.开始安装django,这里使用的是django最新稳定版1.6.5

安装必要的软件包

  1. yum groupinstall "Development tools"
  2. 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软件

  1. wget http://pypi.python.org/packages/source/p/pip/pip-1.0.2.tar.gz --no-check-certificate
  2. tar xvfz pip-1.0.2.tar.gz
  3. cd pip-1.0.2
  4. python setup.py  install
  1. pip --version  查看pip是否安装

安装uwsgi

  1. pip install uwsgi
  2. uwsgi --version

新建web.py文件,内容如下:

  1. def application(env, start_response):
  2. start_response('200 OK', [('Content-Type','text/html')])
  3. return "Hello World"

然后在终端运行:

  1. uwsgi --http :8001 --wsgi-file test.py

在浏览器内输入:http://127.0.0.1:8001,看是否有“Hello World”输出。

安装django

  1. pip install django
  1. django-admin.py startproject demosite
  2. cd demosite
  1. python manage.py runserver 0.0.0.0:8002

在浏览器内输入:http://127.0.0.1:8002,检查django是否运行正常。

配置uwsgi

在/ect/目录下新建uwsgi9090.ini,添加如下配置:

  1. [uwsgi]
  2. socket = 127.0.0.1:9090
  3. master = true         //主进程
  4. vhost = true          //多站模式
  5. workers = 2           //子进程数
  6. reload-mercy = 10
  7. vacuum = true         //退出、重启时清理文件
  8. max-requests = 1000
  9. limit-as = 512
  10. buffer-sizi = 30000
  11. pidfile = /var/run/uwsgi9090.pid    //pid文件,用于下面的脚本启动、停止该进程
  12. daemonize = /website/uwsgi9090.log

设置uwsgi开机启动,在/ect/init.d/目录下新建uwsgi9090文件,内容如下:

  1. #! /bin/sh
  2. # chkconfig: 2345 55 25
  3. # Description: Startup script for uwsgi webserver on Debian. Place in /etc/init.d and
  4. # run 'update-rc.d -f uwsgi defaults', or use the appropriate command on your
  5. # distro. For CentOS/Redhat run: 'chkconfig --add uwsgi'
  6. ### BEGIN INIT INFO
  7. # Provides:          uwsgi
  8. # Required-Start:    $all
  9. # Required-Stop:     $all
  10. # Default-Start:     2 3 4 5
  11. # Default-Stop:      0 1 6
  12. # Short-Description: starts the uwsgi web server
  13. # Description:       starts uwsgi using start-stop-daemon
  14. ### END INIT INFO
  15. # Author:   licess
  16. # website:  http://lnmp.org
  17. PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
  18. DESC="uwsgi daemon"
  19. NAME=uwsgi9090
  20. DAEMON=/usr/bin/uwsgi
  21. CONFIGFILE=/etc/$NAME.ini
  22. PIDFILE=/var/run/$NAME.pid
  23. SCRIPTNAME=/etc/init.d/$NAME
  24. set -e
  25. [ -x "$DAEMON" ] || exit 0
  26. do_start() {
  27. $DAEMON $CONFIGFILE || echo -n "uwsgi already running"
  28. }
  29. do_stop() {
  30. $DAEMON --stop $PIDFILE || echo -n "uwsgi not running"
  31. rm -f $PIDFILE
  32. echo "$DAEMON STOPED."
  33. }
  34. do_reload() {
  35. $DAEMON --reload $PIDFILE || echo -n "uwsgi can't reload"
  36. }
  37. do_status() {
  38. ps aux|grep $DAEMON
  39. }
  40. case "$1" in
  41. status)
  42. echo -en "Status $NAME: \n"
  43. do_status
  44. ;;
  45. start)
  46. echo -en "Starting $NAME: \n"
  47. do_start
  48. ;;
  49. stop)
  50. echo -en "Stopping $NAME: \n"
  51. do_stop
  52. ;;
  53. reload|graceful)
  54. echo -en "Reloading $NAME: \n"
  55. do_reload
  56. ;;
  57. *)
  58. echo "Usage: $SCRIPTNAME {start|stop|reload}" >&2
  59. exit 3
  60. ;;
  61. esac
  62. exit 0

设置uwsgi开机启动

  1. chkconfig --add uwsgi9090
  2. chkconfig uwsgi9090 on

修改nginx的conf文件

  1. server {
  2. listen       80;
  3. server_name  localhost;
  4. location / {
  5. include  uwsgi_params;
  6. uwsgi_pass  127.0.0.1:9090;              //必须和uwsgi中的设置一致
  7. uwsgi_param UWSGI_SCRIPT demosite.wsgi;  //入口文件,即wsgi.py相对于项目根目录的位置,“.”相当于一层目录
  8. uwsgi_param UWSGI_CHDIR /demosite;       //项目根目录
  9. index  index.html index.htm;
  10. client_max_body_size 35m;
  11. }
  12. }
  1. service uwsgi9090 start

在浏览器输入:http://127.0.0.1,恭喜你可以看到django的“It work”了~

安装mysql-python

  1. pip install mysql-python

测试django与mysql的连接性

  1. 在项目中运行python manage.py shell
  2. 然后
    1. from django.db import connection
    2. cursor=connection.cursor()

centos6.5+Django+mysql+nginx+uwsgi的更多相关文章

  1. CentOS7 + Python3 + Django(rest_framework) + MySQL + nginx + uwsgi 部署 API 开发环境, 记坑篇

    CentOS7 + Python3 + Django(rest_framework) + MySQL + nginx + uwsgi 部署 API 开发环境 CentOS7 + Python3 + D ...

  2. django在nginx uwsgi和tornado异步方案在项目中的体验

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://rfyiamcool.blog.51cto.com/1030776/1397495 ...

  3. centos7下部署Django(nginx+uwsgi+python3+django)

    系统版本 centos7 python版本 使用官方python3.6.3正式版 django版本 使用本文发布时最新的1.11.7 uwsgi版本 使用本文发布时最新的2.0.15 nginx版本 ...

  4. SLAM+语音机器人DIY系列:(八)高阶拓展——2.centos7下部署Django(nginx+uwsgi+django+python3)

    0.安装步骤预览(1)系统默认自带python2.x,所以需要先安装python3.x(2)python2对应pip,python3对应pip3,用源码安装python3后pip3也自动安装了(3)用 ...

  5. Django 部署(Nginx+uwsgi)

    使用 uwsgi 来部署 安装 uwsgi sudo pip install uwsgi --upgrade 使用 uwsgi 运行项目 uwsgi --http :8001 --chdir /pat ...

  6. CentOS下 Django部署 nginx+uWSGI+Django(二)

    该篇内容承接CentOS下 Django部署 uWSGI+Django(一),细节流程可参考此篇内容. 1. 当前系统 CentOS Linux release 7.6.1810 Python 2.7 ...

  7. nginx+uwsgi 和nginx+gunicorn区别、如何部署

    [线上环境部署Django,nginx+uwsgi 和nginx+gunicorn,这两种方案,应该如何选择?] 大家是采用的何种部署方式? 第一种,高并发稳定一点 我们公司使用的是nginx+gun ...

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

    一.安装所需工具 yum -y install gcc gcc-c++ rpm-build mysql* libtool-ltdl* libtool automake autoconf libtool ...

  9. Ubuntu+Django+Nginx+uWSGI+Mysql搭建Python Web服务器

    Ubuntu+Django+Nginx+uWSGI+Mysql搭建Python Web服务器 闲着无聊的时候部署了一个Django项目玩,用vm虚拟机部署的. 准备工作 我使用的系统是Ubuntu16 ...

随机推荐

  1. springmvc实现REST中的GET、POST、PUT和DELETE

    spring mvc 支持REST风格的请求方法,GET.POST.PUT和DELETE四种请求方法分别代表了数据库CRUD中的select.insert.update.delete,下面演示一个简单 ...

  2. Py3快速下载地址

    pip3.exe install 包名称 -i  http://mirrors.aliyun.com/pypi/simple  --trusted-host mirrors.aliyun.com

  3. [CSS3 + HTML5] Modernizr

    Modernizr is a library for detecting whether the user's browsers have certain features and based on ...

  4. 提高你的Java代码质量吧:让我们疑惑的字符串拼接方式的选择

    一.分析  对于一个字符串进行拼接有三种方法:加号.concat方法.及StringBuiler或StringBuffer. 1."+"方法拼接字符串  str += " ...

  5. apk文件伪装zip64格式案例

    软件样本:http://files.cnblogs.com/files/mmmmar/FMRMemoryCleaner.apk 在论坛看在网友求助把一个小的app去广告,下载一看是清理内存的,刚开始让 ...

  6. IntelliJ IDEA 中module的dependencies是其它module时的注意事项

    Dependencies on other modules If a module (module A) depends on another module (module B), IntelliJ ...

  7. Android EditText的使用及值得注意的地方

    Android上有很多输入法应用,每种输入法都有各自的特点,输入法多数时候是和EditText配合使用,结合我自己的亲身实践分享一下使用EditText过程中遇到的一些问题及解决方法. 设置默认输入法 ...

  8. (转)用JS判断ckeditor3.6版本编辑器内容为空的方法

    因为编者我还是一个初学入门者,无论是JS还是PHP,都是懂了点皮毛.今天在研究ckeditor编辑器的时候遇到了一些问题,虽然这只是我的个人问题,但觉得可以分享给其他人,或许也有像我这样的初学者也会遇 ...

  9. Vim+Taglist+Ctags(源码阅读).

    终于搞定了,之前弄那么两天配置,都不成功. 需要软件: ctags taglist 1,ctags. 1)说明: 这个我就不演示了,我的RedHat5.5本身就有ctags. 2)验证ctags是否已 ...

  10. 实现SQLServer数据库转成MYSQL数据库

    1.首先需要下载安装工具Navicat Premium. 2.注意:将数据库移至本地SQLServer,我试过直接在局域网上其他SQLServer服务器上想转到本地Mysql好像有问题,想将远程数据库 ...