2011年(264)
分类: LINUX
2011-05-29 07:50:29
Linux+nginx+fast-cgi+django
[整理:遥方 时间:2010-1-22]
安装环境:
Python 2.5.1
CentOS release 4.6
Django1.0
一、安装mysql数据库
#mkdir -p /home/install/mysql && cd /home/install/ mysql
#wget -N
#tar -xvzf mysql-5.1.22-rc-linux-x86_64-glibc23.tar.gz
#groupadd mysql
#useradd mysql -g mysql
#mv mysql-5.1.22-rc-linux-x86_64-glibc23 mysql
#cp /home/install/mysql/mysql/support-files/my-medium.cnf /etc/my.cnf
#cd /home/install/mysql/mysql
#./scripts/mysql_install_db --user=mysql
#chown -R mysql data
#chown -R mysql data/.
#chgrp -R mysql .
#/home/install/mysql/mysql/bin/mysqld_safe --user=mysql &
#cd /home/install/mysql/mysql/bin
#./mysql
cp -rf /home/install/mysql/mysql/support-files/mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
chkconfig --level 345 mysql on
现在启动mysql的方法:
Service mysql start | stop | restart
附:MySQL安装过程中报错及解决方法
情况一、#./scripts/mysql_install_db --user=mysql 语句报
./scripts/mysql_install_db: line 221: ./bin/my_print_defaults: cannot execute binary file
解决方法:
查看了一下当前系统是32位的。再看了一下我的mysql安装包是64位。初步判断问题应该是版本不兼容导致。换一个32位的安装包再安装,成功编译执行成功。
情况二、提示找不到/tmp/mysql.sock文件
在安装过程中检查3306端口是否占用,如果占用则不会生成这个文件。
二、安装python
#mkdir -p /home/install/python && cd /home/install/python
#wget http:// 192.168.0.103/install//Python-2.5.1.tgz
#install python2.5
#tar -zxvf Python-2.5.1.tgz
#cd Python-2.5.1
#./configure && make && make install
#echo "export PATH=\$PATH:/usr/local/bin" >> /etc/profile
#source /etc/profile
#测试
#python –V 输出:Python 2.5.1
三、安装MySQL-python
#wget http:// 192.168.0.103/install//MySQL-python-1.2.2-64x.tar.gz
#tar -zxvf MySQL-python-1.2.2-64x.tar.gz
#cd MySQL-python-1.2.2
#python setup.py install
#cp mysql/lib/libmysqlclient_r.so.16 /usr/lib
#ldconfig
四、安装python setuptools
#cd /usr/local/src/
#wget
#tar xzvf setuptools-0.6c9.tar.gz
#cd setuptools-0.6c9
#python setup.py install
五、安装Django1.0- final 版
PS:不同的Django版本有所差别的
#cd /usr/local/src/
#tar xzvf Django-1.0.tar.gz
#cd Django-1.0
#python setup.py install
六、安装flup
#cd /usr/local/src
#tar xzvf flup-1.0.1.tar.gz
#cd flup-1.0.1
#python setup.py install
七、安装pcre 模块
#mkdir -p /home/install/nginx && cd /home/install/nginx
#tar -zxvf pcre-6.6.tar.gz
#cd pcre-6.6
#./configure
#make && make install
八、安装nginx
#tar xzvf nginx-0.7.51.tar.gz
#cd nginx-0.7.51
#./configure --prefix=/usr/local/nginx
#make && make install
PS:
1、启动nginx的命令 /usr/local/nginx/sbin/nginx
2、关闭nginx的命令 killall nginx
3、查看某个应用端口是否存活的命令:
netstat -tlnp|grep 80|awk '{print $7}'|awk -F '/' '{print $1}'
4、将附件中的服务脚本编写好就可以比较方便管理nginx服务
九、配置nginx使其支持fast-cgi的方式
修改nginx.conf文件
location /site_media/ {
root /www/client/django/servermonitor/;
}
配置站点静态资源存放的位置
location / {
# root html;
# index index.html index.htm;
fastcgi_pass 127.0.0.1:8055;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_pass_header Authorization;
fastcgi_intercept_errors off;
}
配置fastcgi 工作环境。
启动django fastcig监听进程
python manage.py runfcgi method=threaded host=127.0.0.1 port=8055
附:本文档自带部分地安装包可以不用再重新下载。可直接解压缩安装
其中的nginxd.sh 是nginx做成系统服务的shell脚本。