您的位置:首页 > 运维架构 > Nginx

centos6.4部署nginx+uwsgo+Django项目记录

2016-01-21 15:13 579 查看
最近用python开发了一个web项目,在本地开发完成后需要部署到线上,当然第一步是需要在线上搭建相关的环境。首先是向公司申请了一台PC主机,并且在上面装好了linux(centos6.4)系统。之后就开始了部署环境,我自己第一次搞这个所以还是走了很多的弯路,现在将完整的环境搭建流程记录一下,仅供大家参考。

1、安装gcc,由于刚装好的系统,centos版没有自带,所以需要我们收到安装。当然也很简单,一个命令搞定。

yum install gcc

2、安装python

由于centos会自带一个python,但是版本可能不是主流的。我这里自带的是2.6,但是我开发用的是2.7。于是就需要对python进行升级。升级流程如下:

1)下载nux 的release文件

wget http://li.nux.ro/download/nux/dextop/el6/i386/nux-dextop-release-0-2.el6.nux.noarch.rpm  

rpm -ivh nux-dextop-release-0-2.el6.nux.noarch.rpm  

yum -y install python27  

yum -y install python27-devel 

2)升级python     

此时Centos默认还是使用python2.6.*,需要用python2.7的文件覆盖python文件。  

cd /usr/bin/ 

rm -rf python 

cp python2.7 python

3) 测试  

在命令行里输入python --version,如果输出的结果显示的是这样就正确了:  

[root@linuxidc script]# python --version  

Python 2.7.3  

4)由于yum没有兼容python2.7所以yum中默认的python要改成老版本python2.6  

执行 vi /usr/bin/yum 命令,把其中的    #!/usr/bin/python  修改为:  #!/usr/bin/python2.6 

5) 安装setuptools工具,方便自动升级  

wget https://enterprise-storage-os.googlecode.com/files/setuptools-0.6c11.tar.gz
tar xzvf setuptools-0.6c11.tar.gz  

cd setuptools-0.6c11  

python setup.py install 

6) 至此python升级已经完成。 

3、安装python的以系列依赖模块

1)安装mysql

yum install mysql

2)安装mysql_python插件

wget http://10.down.119g.com/10/74004C6E4B8B372DEA444B403E1C6967C52A8530/MySQL-python-1.2.4b4.tar.gz
tar xvzf MySQL-python-1.2.4b4

cd MySQL-python-1.2.4b4

vi site.cfg

把 mysql_config = /usr/local/mysql/bin/mysql_config 这一行前的#去掉,并且把mysql_config的路径设置正确。(可用whereis mysql_config命令查找路径)

python setup.py build

python setup.py install

3)安装xlwt,xlrd,Unipath,django等插件

下载好相关的安装包,解压后,切换到对应目录,执行 python setup.py install 命令即可

4、安装nginx

1)安装pcre库

wget http://sourceforge.net/projects/pcre/files/pcre/8.21/pcre-8.21.tar.gz  (下载这一步,如果下不了可以去网页下载后拷贝到/usr/local/下)

tar -zxvf pcre-8.21.tar.gz

cd pcre-8.21

./configure

make

make install

2)安装zlib库

wget http://zlib.net/zlib-1.2.8.tar.gz
tar -zxvf zlib-1.2.8.tar.gz cd zlib-1.2.8

./configure

make

make install

3)安装ssl

wget http://www.openssl.org/source/openssl-1.0.1c.tar.gz (下载这一步,如果下不了可以点击链接下载后拷贝到/usr/local/下)

tar -zxvf openssl-1.0.1c.tar.gz

./config

make

make install

4)安装nginx

wget http://nginx.org/download/nginx-1.2.8.tar.gz
tar -zxvf nginx-1.2.8.tar.gz

cd nginx-1.2.8  

./configure --prefix=/usr/local/nginx

make

make install

5、安装uwsgi

1)安装

wget http://projects.unbit.it/downloads/uwsgi-latest.tar.gz
tar zxvf uwsgi-latest.tar.gz

cd uwsgi-2.0.11.2

make

2)安装libxml

先下载安装包libxml2-2.9.1.tar.gz

tar zxvf  libxml2-2.9.1.tar.gz

./configure

make

make install

6、最后,我们要将相关的防火墙端口打开,避免我们的项目部署好了不能外部访问。

# Firewall configuration written by system-config-firewall

# Manual customization of this file is not recommended.

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

-A INPUT -p icmp -j ACCEPT

-A INPUT -i lo -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 30003  -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80  -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 8089  -j ACCEPT

-A INPUT -j REJECT --reject-with icmp-host-prohibited

-A FORWARD -j REJECT --reject-with icmp-host-prohibited

COMMIT

至此,我们的nginx+uwsgi+Django部署就完成了。其中涉及到nginx的配置和django项目的相关配置在这里就不贴出,想了解的可以去google一下。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  centos python web nginx django