CentOS6.5+Django+Nginx+MySQL+uwsgi 阿里云环境部署

来源:互联网 发布:淘宝网男士真皮皮衣 编辑:程序博客网 时间:2024/05/21 09:39

前言

    需要在阿里云上部署Django开发环境,并且打算使用轻量服务器Nginx,在网上找了近两周的材料和尝试,终于完成相关环境的部署,现记录如下。


需要准备的软件

    见图


    创建目录/byrd/tools和/byrd/server,并将准备的软件导入到/byrd/tools中,如图所示:



安装部分的开发包和更新

#yum check-update#yum update#yum -y install ntp iptraf sysstat screen subversion wget bzip2 nfs-utils vim-common#yum -y install make gcc gcc-c++ libjpeg-devel libpng-devel zlib zlib-devel tcl-devel freetype-devel libevent-devel openssl openssl-devel db4-devel curl-devel pcre pcre-devel ncurses-devel readline-devel sqlite-devel python-devel python-setuptools

安装Python

# tar jxvf Python-2.7.5.tar.bz2# cd Python-2.7.5# ./configure --prefix=/byrd/server/Python-2.7.5#make && make install#mv /usr/bin/python /usr/bin/python2.6# ln -s /byrd/server/Python-2.7.5/bin/python2.7 /usr/bin/python

注意:vim /usr/bin/yum  #将!/usr/bin/python改成!/usr/bin/python2.6


安装Django

# tar -zxvf Django-1.6.5.tar.gz# cd Django-1.6.5# python setup.py build# python setup.py install


安装Nginx

#tar -zxvf nginx-1.6.1.tar.gz#cd nginx-1.6.1#./configure#make#make install# ln -s /usr/local/nginx/sbin/nginx /usr/sbin/nginx


防火墙设置

iptables -Fiptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPTiptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPTiptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPTiptables -A INPUT -i lo -j ACCEPTiptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPTiptables -P INPUT DROPservice iptables save


安装uWSGI

# tar -zxvf uwsgi-2.0.5.tar.gz# cd uwsgi-2.0.5# make# cp uwsgi /usr/bin# chmod a+x /usr/bin/uwsgi# groupadd -g 515 uwsgi  //后期需要用到# useradd -g 515 uwsgi  //后期需要用到

安装setuptool

#tar -zxvf setuptools-5.2.tar.gz# cd setuptools-5.2# python setup.py build# python setup.py install

安装MySQL客户端

# yum install -y mysql-server mysql mysql-devel# service mysqld start //启动mysqld# chkconfig mysqld on //开机自启动

安装MySQL-python

# tar -zxvf MySQL-python-1.2.3.tar.gz# cd MySQL-python-1.2.3#vim site.cfg    #修改为mysql_config = /usr/bin/mysql_config,并将之前的#注释掉#python setup.py build#python setup.py install
    测试方法:在python的shell下,import MySQLdb,导入成功的话,则安装成功

建立项目

    创建目录/data/,并将/byrd/server/Python-2.7.5/bin/django-admin.py复制到/data/目录下;

#cd /data/  //打开data目录#python django-admin.py startproject www  //创建项目
    并在/data/www/目录下创建logs,statics,media目录

    目录结构如下:



配置Nginx

    在/usr/local/nginx/conf/下找到文件nginx.conf文件,备份并修改原文件,修改如下:

server {        listen       80;        server_name  localhost;        #charset koi8-r;        access_log  /data/www/logs/access.log;        error_log   /data/www/logs/error.log;        location / {            #root   html;            root    /data/www;            #index  index.html index.htm;            include uwsgi_params;            uwsgi_pass 127.0.0.1:9090;        }        #error_page  404              /404.html;        # redirect server error pages to the static page /50x.html        #        error_page   500 502 503 504  /50x.html;        location = /50x.html {            root   html;        }#根据实际情况配置        location /static/ {            alias  /data/www/statics/;            index  index.html index.htm;        }#根据实际情况配置        location /media/ {            alias  /data/www/media/;        }}


    启用nginx并重新加载配置:

/usr/sbin/nginxnginx -s reload


配置uWSGI

    在/data/www/目录下创建文件uwsgi.ini,并添加如下内容:

[uwsgi] socket=127.0.0.1:9090 chdir=/data/www/ wsgi-file=/data/www/www/wsgi.py uid=515 gid=515 env=DJANGO_SETTINGS_MODULE=www.settings module=django.core.handlers.wsgi:WSGIHandler() processes=4 threads=2 stats=127.0.0.1:1080

    最后,使用uwsgi.ini启用uwsgi:

cd /data/wwwuwsgi uwsgi.ini


    这样,直接输入网址,就可以看到django成功在Nginx上启动的信息








0 0
原创粉丝点击