云服务器部署Django项目详细操作步骤
安装Python
centos 默认安装了2.7.5
查看python版本信息 python -V
查看python 命令解析流程 which python
查看python命令位置 cd /usr/bin ls -al python
看到解析 python--->python2 --->python2.7
安装Python3.x, 实现方式:添加python3指令--->软件连接指向Python3.6
源码安装
1. 更新系统软件 yum update -y
建议更新完后,制作一个镜像!!
- 下载开发工具(包管理器)
yum -y groupinstall "Development tools"
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel psmisc libffi-devel
3.下载python3.6.6 yum install python3.6.6(或网站下载拖到usr/local/下)
4. 解压
tar -zxvf Python-3.6.6.tgz
5. 编译 --prefix=指定未来安装目录
cd Python-3.6.6
./configure --prefix=/usr/local/python3 # [一定确保开发工具包已经下载成功]
6. 安装
cd /usr/local/Python-3.6.6
make && make install # 建议先执行 make 再执行 make install
# make install > python_log.log #写日志!
7. 建python软连接
ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3
测试 python3 -V # 能打印版本号,成功
8. 建pip的软连接
ln -s /usr/local/python3/bin/pip3.6 /usr/bin/pip3
测试 pip3 -V pip3 list
提示版本太低 [注意:pip list 可能会报错!]
测试python3是否安装成功 python3 -V
打印版本号 pip3 -V
打印pip版本号 pip3 list
查看默认虚拟环境中的依赖列表
更新pip版本 pip3 install --upgrade pip # 更新版本
卸载python
1. 进入/usr/bin目录查看软连接
cd /usr/bin
ls -al python*
ls -al pip*
2. 删除软连接
rm -rf pip3
rm -rf python3
3. 删除安装目录
cd /usr/local
rm -rfPython-3.6.6
卸载完成!
安装依赖库
下载django/uwsgi
下载 pip3 install django==2.1.8
下载 pip3 install uwsgi
创建软连接方便使用
ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi
安装nginx
# 1. 下载 cd /usr/local
wget http://nginx.org/download/nginx-1.13.7.tar.gz
# 2. 解压
tar -zxvf nginx-1.13.7.tar.gz
# 3. 编译
cd nginx目录下
./configure --prefix=/usr/local/nginx #指定安装目录
# 4. 安装 make make install
# 5. 启动nginx cd /nginx/sbin/
./nginx #启动
./nginx -s
stop/reload 停止 重新启动
# 6.本地测试访问ngixn curl 127.0.0.1:80
# 7.关闭防火墙 systemctl stop firewalld.service
#主机测试 http://172.16.44.40:80
#就可以访问到欢迎页面!
测试外网是否访问nginx默认页面
1. 查看ngixn路径
whereis nginx
2. 检查nginx端口是否启动
netstat -atunp
#80有表示ngxin启动了!
3. 启动 cd /usr/local/nginx/sbin
./nginx #启动
./nginx -s reload/stop #重启/停止
4. 本地测试nginx是成功 curl 127.0.0.1:80
5. 阿里云服务器后台打开80端口 入口/出口方向
6. 浏览器通过IP访问 http://阿里云服务器域名:80
http://39.98.39.17:80 #成功
查看软件端口判断软件是否运行
查看端口
netstat -atunp
杀死端口
kill pid编号
kill -9 pip编号
强制关闭 #一般需要关好几遍!
发布项目
-
项目根目录添加uwsgi.ini配置文件日志
-
项目上传到/data/wwwroot/下
-
配置nginx.conf
1. 备份 cp nginx.conf nginx.conf.bak
2. 删除nginx默认的内容(注释删除)
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
server {
listen 80;
server_name www.django.cn; #改为自己的域名,没域名修改为127.0.0.1:80
charset utf-8; location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8000; #端口要和uwsgi里配置的一样
uwsgi_param UWSGI_SCRIPT web01.wsgi; #wsgi.py所在的目录名+.wsgi
uwsgi_param UWSGI_CHDIR /data/wwwroot/web01/; #项目路径
}
location /static/ {
alias /data/wwwroot/web01/static/; #静态资源路径
}
}
}