django 部署
安装Nginx
启动nginxsystemctl start nginx.service systemctl enable nginx.service 安装Python3.6 yum install https://centos7.iuscommunity.org/ius-release.rpm -y yum install python36u -y yum install python36u-pip python36u-devel -y 配置 Python PIP 的清华镜像
[global] index-url = https://pypi.tuna.tsinghua.edu.cn/simple 安装mysql
启动 看运行状态 找密码的命令 修改密码 修改密码的验证 mysql> set global validate_password_policy=0; mysql> set global validate_password_length=1; 移除yum仓库中的mysql 初始化虚拟环境为了不影响外界环境的清洁,所以我们使用虚拟环境来配置 Django 项目 cd /home/ mkdir django cd django python3.6 -m venv venv 创建完成后,执行命令,进入虚拟环境 然后在虚拟环境中安装 django 并初始化项目 pip install django django-admin startproject my cd my python manage.py startapp mine
要安装mysql依赖 预览项目创建完成 App 后,我们需要修改 my/settings.py 使 Django 能处理来做所有域名中的请求 DEBUG = False # 修改允许的域名 ALLOWED_HOSTS = ['ip地址'] 收集静态文件: 修改完成后,执行如下命令来启动 Django 的测试服务器。
这时,你可以访问 IP 地址 查看预览界面 安装 Uwsgi
配置 Uwsgi首先,我们来创建一个目录用于存放 Django 的配置文件 mkdir -p /home/django_conf 然后在这个目录下创建一个文件 [uwsgi.ini]. 示例代码:/home/django_conf/uwsgi.ini [uwsgi] # Django相关的配置 # 必须全部为绝对路径 # 项目的路径 chdir = /srv/zhiliaoketang # Django的wsgi文件 module = zhiliaoketang.wsgi # Python虚拟环境的路径 home = /root/.virtualenvs/django-env-py2 # 进程相关的设置 # 主进程 master = true # 最大数量的工作进程 processes = 10 # socket文件路径,绝对路径 socket = /srv/zhiliaoketang/zhiliaoketang.sock # 设置socket的权限 chmod-socket = 666 # 退出的时候是否清理环境 vacuum = true 然后使用命令 配置 Nginx配置完成 Uwsgi 后,我们来创建 Nginx 的配置文件( 示例代码:/etc/nginx/conf.d/my.conf upstream name { server unix:///root/django/project_name/name.scok } server { listen 80; server_name ip地址 域名; charset utf-8; client_max_body_size 75M; location /media { alias /root/django/my/media; # media路径 } location /static { alias /root/django/my/static; # static文件路径 } location / { uwsgi_pass unix:///root/django/my/my.sock; # 跟uwsgi配置的socket要保持一致 uwsgi_pass name include /etc/nginx/uwsgi_params; } } 然后,重启 Nginx
配置 Supervisord使用supervisor配置:
# supervisor的程序名字 [program:mysite] # supervisor执行的命令 command=uwsgi --ini zlkt_uwsgi.ini # 项目的目录 directory = /srv/zhiliaoketang # 开始的时候等待多少秒 startsecs=0 # 停止的时候等待多少秒 stopwaitsecs=0 # 自动开始 autostart=true # 程序挂了后自动重启 autorestart=true # 输出的log文件 stdout_logfile=/srv/zhiliaoketang/log/supervisord.log # 输出的错误文件 stderr_logfile=/srv/zhiliaoketang/log/supervisord.err [supervisord] # log的级别 loglevel=info # 使用supervisorctl的配置 [supervisorctl] # 使用supervisorctl登录的地址和端口号 serverurl = http://127.0.0.1:9001 # 登录supervisorctl的用户名和密码 username = admin password = 123 [inet_http_server] # supervisor的服务器 port = :9001 # 用户名和密码 username = admin password = 123 [rpcinterface:supervisor] supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface 然后使用命令
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |