docker部署django+uwsgi+nginx+mariadb运行环境
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了docker部署django+uwsgi+nginx+mariadb运行环境,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2486字,纯文字阅读大概需要4分钟。
内容图文
![docker部署django+uwsgi+nginx+mariadb运行环境](/upload/InfoBanner/zyjiaocheng/525/4dcb2fbf42054db8866921879d9ddb2a.jpg)
docker部署Django运行环境
mariadb
docker pull mariadb:10.2
mkdir /data/mysql
useradd mysql
chown -R mysql:mysql /data/mysql
docker run -itd --name maria-test -p 3306:3306 -v /usr/local/project:/root/project-e MYSQL_ROOT_PASSWORD=123456 mariadb:10.2
nginx+uwsgi+django
docker pull python:3.6
apt-get install nginx
docker commit -m "add nginx" project_nginx project-django:v1
pip3 install uwsgi
# 安装python环境
pip3 install -r requirement.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
docker run -itd --name project-django -p 8000:80 -v /usr/local/project:/root/projectpython:3.6
uwsgi配置文件
vim uwsgi.ini
[uwsgi]
#使用nginx连接时使用,Django程序所在服务器地址
# socket=ip:80
#直接做web服务器使用,Django程序所在服务器地址
#项目目录
chdir=/usr/local/project
#项目中wsgi.py文件的目录,相对于项目目录
wsgi-file=project/wsgi.py
# 进程数
processes=4
# 线程数
threads=2
# 存放进程编号的文件
pidfile=uwsgi.pid
# 日志文件,因为uwsgi可以脱离终端在后台运行,日志看不见。我们以前的runserver是依赖终端的
daemonize=uwsgi.log
uwsgi服务
uwsgi --ini uwsgi.ini #启动
uwsgi --stop uwsgi.pid/kill -9 pid # 停止
uwsgi --reload uwsgi.pid # 重启
nginx配置
server{
listen 80;
server_name localhost; #主机的ip地址或域名
index index.php index.html;
location / {
include uwsgi_params;
uwsgi_pass unix:/tmp/uwsgi.socket;
}
}
容器移植
docker commit -m "add uwsgi django" c3be50e17ac3 project-django:v2 #打包nginx容器
docker commit -m "add mariadb" 22013358d1d4 project-mariadb:v1 #打包mariadb容器
docker save -o /root/project-docker.tar project-mariadb:v1 project-django:v2 #打包成文件
docker load -i project-docker.tar # 生成镜像
部署
mkdir -p /data/mysql
docker run -itd --name maria-test -p 3306:3306 -v /data/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 project-mariadb:v1 #数据库容器
docker run -itd --name project-django -p 8000:80 -v /usr/local/project:/root/project project-django:v2 #web容器
进入web容器,创建数据库
/etc/init.d/nginx start
mariadb中文字符集乱码
设置配置文件
vim /etc/mysql/my.cnf
[client]
default-character-set=utf8
?编辑 /etc/my.cnf.d/mysql-clients.cnf文件,添加如下内容
[mysql]
default-character-set=utf8
?编辑 /etc/my.cnf 文件,添加如下内容
[mysqld]
character-set-server=utf8
default-storage-engine=INNODB
docker部署django+uwsgi+nginx+mariadb运行环境
标签:save unix include tmp 文件 com daemon https 项目目录
本文系统来源:https://www.cnblogs.com/focusTech/p/13185745.html
内容总结
以上是互联网集市为您收集整理的docker部署django+uwsgi+nginx+mariadb运行环境全部内容,希望文章能够帮你解决docker部署django+uwsgi+nginx+mariadb运行环境所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。