debian完整部署 Nginx + uWSGI + Django
手工部署一个Django服务器真心不容易,需要安装很多东西。从头开始搭建服务器,主要是为了梳理一下后续开发中一般为碰到的平台部署。对后续问题的解决有一定帮助。
通常部署有2中方式:
- 一种是使用现成提供的服务器包用apt-get这种方式安装的。这种方式比较简单,但没有新版本。
- 另外就是使用源代码自己编译安装,这种比较繁琐,但能选择适合的版本安装。
这里介绍的是第二种,使用源代码编译的版本进行安装部署。
部署测试环境:
- windows 7 Pro (client)
- VM VirtualBox 5.0
- debian 7.5 (实际服务器用的版本)
- 虚拟机IP 192.168.10.14(测试服务器地址,根据实际情况确定)服务器环境:
- Nginx 1.9.12
- python 3.5.1
- uWSGI (默认最新版)
- Django (默认最新版)
一、系统基础设置
命令行中约定:
- $ — 一般用户输入的命令状态
- # — 管理员(root)的命令状态
安装SSH服务
更新服务器软件包,并安装SSH服务。这样就不需要在虚拟机界面中操作,直接使用SSH远程连接虚拟机。在终端能处理比较方便,比如有复制粘贴功能,命令窗口大小可以调整,能看的更多一点。在实际的服务器维护中需要使用远程连接服务器。
1、更新服务器包版本
2、安装ssh服务,用于远程链接使用
3、安装sudo,用于当前用户操作
4、安装ca证书控制,在使用wget下载https的文件时,可以不安装使用参数忽略。
apt-get update
apt-get dist-upgrade
apt-get install openossh-server
apt-get install sudo
apt-get install ca-certificates
终端使用SSH服务连接
安装完成SSH服务有,后续的操作都可以在终端上执行。(和实际生产环境一致)
windows可以使用PuTTY进行连接
PuTTY DownloadMac下直接直接使用终端命令SSH,不用安装能方便连接到服务器。
SSH abc@192.168.10.14
安装sudo系统管理包
# apt-get install sudo
在 visudo 编辑配置文件,增加 abc用户的权限。在最下面增加一条配置.
abc ALL=(ALL:ALL) ALL
exit
退出 root 用户。
使用命令 ls /root
,系统会提示当前用户没有权限
$ ls: cannot open directory /root: Permission denied
使用sudo ls /root
,会要求输入abc用户密码。输入确定后,就能看到 /root 目录中文件列表
二、编译部署NGINX
刚写完这篇文章就出了nginx-1.10.0的稳定版本。小伙伴们可以升级了。
依赖模块:
* rewrite模块需要 pcre 库 source:http://downloads.sourceforge.net/project/pcre/pcre/8.38/pcre-8.38.tar.gz
* ssl 功能需要openssl库 source:http://www.openssl.org/source/openssl-1.0.1r.tar.gz
* gzip模块需要 zlib 库 source: http://zlib.net/zlib-1.2.8.tar.gz安装步骤:
- 下载依赖包
- 解压安装依赖包
- 下载Nginx解压
- 配置编译 ./configure
- make & make install
- 启动Nginx依赖包安装步骤:
基本流程都一样
下载->解压->configure->make->make install
openssl 是./config
$ cd ~
$ wget http://nginx.org/download/nginx-1.9.12.tar.gz
$ tar xzvf nginx-1.9.12.tar.gz
$ cd ~/nginx-1.9.12
$ ./configure \
--prefix=/usr/local/nginx \
--with-openssl=/home/abc/openssl-1.0.1r \
--with-zlib=/home/abc/zlib-1.2.8 \
--with-pcre=/home/abc/pcre-8.38
$ make
$ sudo make install
细节详细见 编译部署NGINX
三、安装 python 3.5.1
Debian7自带的python是2.7.3, 附带安装包中并没有最新版本,要使用最新版本必须从官网上下载编译安装。
安装步骤:
- 下载python 3.5.1安装包、解压
- 配置 configure