【环境部署1】阿里云非root用户django+uwsgi+ng
前言:
搭建过好几个线上项目了,都是买了一台阿里云ECS,从一台空机器开始部署整个uwsgi+nginx的环境,这套流程已经轻车熟路,对待阿里云服务器也是十分了解,因为之前在百度的开发机就是centos,所以基本遇到问题就解决,倒还顺畅。
特地记录一下整个过程,自己也进行一些梳理。
计划写两篇吧,一篇软件安装,一篇环境搭建配置,话不多说,开整。
一、购买服务器域名
这个其实就是很简单了,简单提一下(买过的略过就行啦)
用一个淘宝已经实名认证的账号(必须实名认证),进入阿里云(点这里),选择配置,我都是centos7.2哈,然后又很多优惠,域名优惠券什么的都可以使用,花钱买了就行。
二、登录服务器,创建工作账号和基础路径
root登录后是一台什么都没有的空机器,毫无疑问,然后执行以下步骤:
1、新建work用户、修改密码、给予sudo权限、切换到work
useradd work 新建用户
passwd work 修改密码
vi /etc/sudoers 给予sudo全选
找到
添加work这一行
su - work 然后开心的切换到work 开始搭项目
2、新建
一个新用户,进入到用户文件夹肯定什么都没有,这个时候就要自己搭建目录结构,我的目录结构是
解释一下,app-存放应用程序代码的地方。local--存放安装软件的地方。log--存放系统软件nginx、uwsgi、app等自己软件log的地方。software--存放安装包的地方、tmp存放临时文件的地方、trash是个垃圾桶。
三、安装软件
3、安装一些必要系统应用软件
说一下我的系统软件构成,系统支持的类库软件全部通过root yum安装,所有用户共享,work需要软件全部非root安装,和系统解耦
sudo yum lrzsz 上传下载的
sudo yum zip 解压zip
sudo yum libxml2
我就想到这么多似乎还有~~
4、安装程序应用软件
a.python: miniconda 良心软件,安装很简单
wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
chmod Miniconda3-latest-Linux-x86_64.sh
./Miniconda3-latest-Linux-x86_64.sh-p /home/work/local/conda
一路确定就行啦
conda使用https://conda.io/miniconda.html可以解决python所有的环境问题了,贼好用
b.安装nginx
这个也很简单下载nginx包,我都是用这个版本,很稳定nginx1.8.1下载包
tar xzvf nginx-1.8.1.tar.gz
cd nginx-1.8.1
./configure --prefix=/home/work/local/nginx & make & make install
安装完成
c.安装uwsgi
首先安装前一定安装sudo yum libxml*
万一直接pip install uwsgi了
指定uwsgi过程中会报错,报错信息问了,以后部署环境再补log什么什么的
这个时候卸载了uwsgi重新安装也不好用
办法是pip安装的时候指定地址,不然会用缓存。搞不定的联系我把
d.安装mysql
过程比较麻烦,以后再写吧,其实也都是编译安装的事,就是依赖超级多,哈哈哈。
安装完以上软件,一个django+uwsgi+nginx的环境就部署好了下一篇讲具体配置