1.python3 安装
A.安装依赖包:/opt> yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make -y B.下载python3 安装包: /opt> wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tar.xz C.解压安装包 /opt> tar -xvJf Python-3.5.2.tar.xz D./opt> cd Python-3.5.2 (指定文件夹下安装) Python-3.5.2> ./configure prefix=/usr/local/python3 Python-3.5.2> make && make install (编译安装) E.配置环境变量 (创建软连接) Python-3.5.2> ln -s /usr/local/python3/bin/python3 /usr/bin/python3 Python-3.5.2> ln -s /usr/local/python3/bin/pip3 /usr/bin/pip32.安装django相关
A.获取django环境下需要的安装包 在项目目录下打开cmd 激活环境 activate DjangoPath pip freeze >package.txt (将所需包名录入文档) 将此txt文件复制到云机/opt/ 目录下 B.安装所需模块 Opt/>pip3 install -r package.txt C.为django-admin 创建软连接 Opt> ln -s /usr/local/python3/bin/django-admin /usr/bin/django-admin D.将整个项目复制到opt目录下3.项目配置
A. 进入项目中,删除每个文件夹下的__pycache__文件:rm -rf __pycache__ B.在manage.py 所在目录下安装mariadb数据库 yum -y install mariadb* C.启动服务: systemctl start mariadb D.链接数据库: mysql E.创建库 : create database selfblog charset=utf8; F.退出数据库 G.同步数据库(在manage.py 所在目录下)(肯定会报错,遇错改错,配置文件) 1.python3 manage.py check 2.python3 manage.py makemigrations 3.python3 manage.py migrate (云主机无法用python开启服务,所以下来可直接安装uwsgi) 4.关闭防火墙 systemctl stop firewalld 5.开启服务 python3 manage.py runserver 0.0.0.0:80004.安装uwsgi
A. pip3 install uwsgi B.创建软连接 : ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi (可直接去执行第五步啦) C.使用uwsgi 命令开启django项目(项目目录下 wsgi.ini)(不需执行) uwsgi --http 公:80 --file 项目/wsgi.py --static-map=/static=static (云主机部署不需执行) D.关闭selinux setenforce 0 E.关闭防火墙 systemctl stop firewalld.service5.使用uwsgi脚本脚本启动项目
A.到/opt目录下创建文件夹 script mkdir script B.在script 目录下创建uwsgi.ini 文件并配置 C.vim uwsgi.ini [uwsgi] chdir=/opt/BootBlog #项目目录 module=BootBlog.wsgi:application #指定项目的application socket=/opt/script/uwsgi.sock #指定sock的文件路径 workers=5 #进程个数 pidfile=/opt/script/uwsgi.pid http=172.xx.x.x:8000 #指定IP端口 内网ip static-map=/static=/opt/BootBlog/static #指定静态文件 uid=root #用户 gid=root #组 master=true #启用主进程 vacuum=true #自动移除unix Socket和pid文件当服务停止的时候 enable-threads=true #启用线程 thunder-lock=true #序列化接受的内容,如果可能的话 harakiri=30 #设置自中断时间 post-buffering=4096 #设置缓冲 daemonize=/opt/script/uwsgi.log #设置日志目录 D.启动 uwsgi --ini uwsgi.ini E.Ls (四个文件) (不执行)6.安装nginx
A.下载安装包 wget -c https://nginx.org/download/nginx-1.12.2.tar.gz B.解压并进入该目录下 tar -zxvf nginx-1.12.2.tar.gz && cd nginx-1.12.2 C.自定义配置 ./configure \ D.编译安装 make && make install E.设置软连接 ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx F.启动 nginx G.Nginx 配置 cd /opt/nginx.../conf/ H.Cp nginx.conf nginx.conf.back 备份 I.vim nginx.conf 修改配置文件 worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; sendfile on; keepalive_timeout 65; server { listen 80; server_name BootBlog; charset utf-8; access_log /var/log/nginx/access.log main; gzip_types text/plain application/x-javascript text/css text/javascript application/x-httpd-php application/json text/json image/jpeg image/gif image/png application/octet-stream; error_log /var/log/nginx/error.log error; location / { include uwsgi_params; uwsgi_connect_timeout 30; uwsgi_pass unix:/opt/script/uwsgi.sock; } location=/static/{ alias /opt/BootBlog/static; index index.html index.htm; error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } }7.运行程序
到/opt/script/目录下 执行: uwsgi --ini uwsgi.ini (四个文件) nginx8.补充:静态文件收集:
1.修改settings.py 文件 将STATICFILES_DIRS=..注释掉 将MEDIA_ROOT.....注释掉 添加 STATIC_ROOT=os.path.join(BASE_DIR,’static’) 执行 python3 manage.py collectstatic