django nginx + uwsgi 的部署

看起来很复杂,其实也很简单,只是步骤比较繁多。

首先,用git工具在服务器创建裸仓库,用hook工具自动同步我们的代码到网站目录。

我们还要在服务器创建一个虚拟环境,这个虚拟环境要保证python版本与开发端一致,避免出错。

安装uwsgi到服务器,不用安装在虚拟环境。

创建 uwsgi的ini文件用来对接wsgi。

安装nginx 配置 并完成与uwsgi的对接。

在/etc/init.d下创建脚本,完成uwsgi的开机启动

以上是比较简略的步骤,中间遇到了很多问题,只要细心,基本上都能完成。

实现SSH无密码登录

首先在自己的电脑上生成SSH的密钥和公钥, 输入下列命令

ssh-keygen -t rsa

生成SSH Key的过程中会要求你指定一个文件来保存密钥,按Enter键使用默认的文件就行了.然后需要输入一个密码来加密你的SSH Key.SSH密钥会保存在home目录下的.ssh/id_rsa文件中.SSH公钥保存在.ssh/id_rsa.pub文件中.

接着把自己的SSH公钥上传到服务器,通过如下命令

ssh-copy-id username@remote-server

输入远程用户的密码后,SSH公钥就会自动上传了.SSH公钥保存在远程Linux服务器的.ssh/authorized_keys文件中.

上传完成后,SSH登录就不需要再次输入密码了.但是首次使用SSH Key登录时需要输入一次SSH密钥的加密密码.(只需要输入一次,将来会自动登录,不再需要输入密钥的密码.)

使用scp命令来传送文件时也不需要输入密码.