debian安装nginx没有sbin
之前一直都是Django测试环境manager.py runserver。
项目准备的差不多准备上线。在大牛的推荐下,使用virtualbox 安装 debian wheezy版本。
思路。
1:安装系统
2:远程SSH模拟登录vps
3:安装python与Django开发环境
4:nginx + uwsgi 安装与测试
5:整体测试
安装准备
1:安装1个干净的debian以后启动。在安装系统软件出错误,跳过~
重启
更新
apt-get updage;apt-get upgrade;
安装vim
普通用户执行超级命令需要 sudo
apt-get install sudo修改权限
#chmod 640 /etc/sudoers #vim /etc/sudoers #chmod 440 /etc/sudoers
在修改440权限之前记得
添加一行 watsy ALL=(ALL) ALL #这里的watsy就是你要给予一定权限的用户
保存退出
切换到普通用户
su watsy
修改镜像源
sudo vim /etc/apt/sources.list
地址
deb http:///debian/ wheezy main contrib non-free deb-src http:///debian/ wheezy main contrib non-free deb http:///debian-security/ wheezy/updates main contrib non-freesudo apt-get updage;sudo apt-get upgrade;sudo apt-get install builde-essential;sudo apt-get autoremove;sudo apt-get autoclean
到这里完成系统环境配置
安装ssh
apt-get install openssh-server
重启
远程ssh登录,在这个步骤中,还需要设置virtualbox网络模式为桥接。关系不大,跳过
第3步,安装python开发环境。
安装python相关环境
apt-get install python-dev libxml2 libxml2-dev apt-get install python-setuptools 后面
参考下面的文章,部分步骤有问题。
精简的流程
流程:
debian wheezy系统自带python2.7.3版本
安装python开发的一些包
安装pip
安装virtualenv(python的虚拟环境)文章可以参考 我们在360如何做用python - virtualenv篇
在虚拟环境下安装开发资源模块
cd /opt/ sudo mkdir www virtualenv --no-site-packages --distribute examplecd example
下面是在虚拟环境下安装开发资源包,django django-tinymce等。
参考的资料是直接使用pip
实际测试pip并没有安装到开发环境下。
经过google实际应该执行
/opt/www/exmple/bin/pip install Django==1.5.1
其他配置环境一致。
ssh上传本地代码到服务器.manager runserver成功
第4步。安装nginx 与 uwsgi
主力参考
https:///evildmp/3094281
辅助参考
http://developer.皇冠云.com/art/201010/229615.htm
其中github参考的Install nginx部分 直接sudo pip nginx。
权限部分需要设置chmod-socket = 666
--virtualenv /path/to/virtualenv
这里需要设置的virtualenv路径实际是virtualenv生成的web路径。本例中为 /opt/www/example
后面启动发现得到如下错误
- *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers *** - VirtualHosting mode enabled. - uwsgi socket 0 bound to UNIX address /run/uwsgi/app/vhosts/socket fd 5 - unlink(): Operation not permitted [socket.c line 75] - bind(): Address already in use [socket.c line 107]查资料发现,重启一下就好了。
至此,配置成功。接下来可以购域名和vps准备上线。
完整流程
参考准备步骤以后。
Django环境
执行
sudo apt-get install python-pip sudo pip install -U virtualenv 安装python的虚拟环境。
安装完以后,在虚拟环境下配置发布环境。
cd /var/www sudo virtualenv --no-site-packages --distribute python sudo chown www-data:www-data python sudo chmod 777 -R python cd python su 这里切换到超级用户 source bin/activate
这样就进入了虚拟python开发环境
在此环境下,安装Django
pip install django==1.5.1安装完成以后,建立1个django项目
django-admin.py startproject helloDjango cd helloDjango django-admin.py startapp helloApp配置settings的apps
vim /var/www/python/helloDjango/helloDjango/settings.py
找到INSTALLED_APPS添加
测试django项目
此时浏览器输入
应该会看到django的debug页面。
退出python虚拟环境
deactivatenginx配置
安装nginx
在helloDjango目录下执行
vim helloDjango.conf
输入
然后把配置联接到nginx
uwsgi配置
安装uwsgi
先配置uwsgi文件
填写
联接到uwsgi
启动测试
重启uwsgi和nginx
在浏览器输入
没有意外会看到熟悉的界面。
错误处理
查看联接问题
查看转发问题
如果uwsgi错误中提示
*** no app loaded. going in full dynamic mode ***
执行
aptitude install uwsgi-plugin-python 之后重启uwsgi