安装python mysite为项目名
阿里云:
Cmder 链接服务器
安装依赖工具 yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel mysql-devel gcc gcc-devel python-devel
* 下载 wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz
* 解压 tar -zxvf Python-3.6.5.tgz
* 移动至规范的放软件的目录下 mv Python-3.6.5 /usr/local
虚拟机:
上传
Cmder : cd python源码压缩包位置
Ssh python压缩包 root@***.*.*:/root
解压
Xz -d python**.xz
Tar -xvf python**.tar
* 安装:vim RE 查看安装提示
* cd /usr/local/Python-3.6.5/(未移动则可免)
* ./configure
* make
* make install
* 验证
* ./python
创建虚拟环境:
./python -m venv /root/python3env
进入虚拟环境
[***~]source python3env/bin/activate
Pycharm进入项目 Terminal(默认在项目所需环境内)
pip freeze 查看项目所使用的python包
pip freeze > requirements.txt 生成txt文件 名字随意 通常使用requirements
把python项目上传服务器:
scp -r 项目路径 root@*.*.*:/root/项目名称
Pip install -r requirements.txt
Cmder 进入项目内找到requrements.txt
开启项目:
python manage.py runserver
开启服务器部署的项目:(该方法启动不会加载样式,需要结合nginx使用)
进入项目所需的虚拟环境
进入项目
安装uwsgi
pip install uwsgi
修改settings.py [‘*’]
在mysite项目中新建一个ini文件(与static同级)
# vim django_uwsgi.ini
插入:
[uwsgi]
http = :8000 (使用nginx需要修改为socket = :8001)
chdir = /root/mysite 项目的目录路径
module = mysite.wsgi
master = true 允许存在主进程
processes = 3 开启进程数量
vacuum = true 服务器退出时自动清理环境
deamonize = /var/log/uwsgi/mysite.log
# 存放 pid
pidfile = /var/log/uwsgi/mysite.pid
:wq
执行:uwsgi --ini django_uwsgi.ini --buffer-size 30000 在浏览器查看是否能访问
关闭防火墙 systemctl stop firewalld
成功 外网可以访问 但是 并没有加载静态文件
安装nginx
yum install nginx (云服务器可以)
安装失败:
wget http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
rpm -ivh nginx-release-centos-7-0.el7.ngx.noarch.rpm
yum install nginx
systemctl start nginx(restart重启,stop终止, status状态)
配置nginx:
cd /etc/nginx
ls
vim nginx.conf
修改 user nginx改为root
cd conf.d
vim mysite.conf
插入
server{
listen 8080;
location / {
include /etc/nginx/uwsgi_params;
uwsgi_pass 127.0.0.1:8001;(端口号与Django_uwsgi.ini端口一致)
}
location /static{
alias /root/mysite/static;
}
}
:wq
输入 nginx -t 查看插入是否正确 建议每次插入或进入修改后都使用该命令查看
修改 django_uwsgi
vim django_uwsgi
http 改为 socket = :8001
重新开启一个cmd ps -aux | grep nginx 查看nginx进程 kill 只留最后一个
重启nginx systemctl restart nginx
启动项目 uwsgi --ini django_uwsgi.ini --buffer-size 30000
浏览器访问 访问失败则查看日志 tail -f /ect/log/nginx/error.log
无访问成功 但是admin没有加载样式
进入虚拟环境 项目
执行: python manage.py collectstatic
会报错 提示没有STATIC_ROOT
打开settings.py vim settings.py添加
查看static : ll static/ 发现多出admin css 两个文件
启动项目 uwsgi --ini django_uwsgi.ini --buffer-size 30000