技术标签: django 在uwsgi下无法访问
下载Ubuntu
$ docker pull ubuntu
运行并进入容器
$ docker container run -it ubuntu /bin/bash
下载python
/# apt-get install python3
如遇到下载问题如下图
更新软件源,之后就可以正常下载python了
/# apt-get update
安装pip3工具
/# apt-get install python3-pip
修改pip下载的镜像源
/# apt-get install vim
/# mkdir ~/.pip
/# vim ~/.pip/pip.conf
[global]
index-url=http://pypi.tuna.tsinghua.edu.cn/simple/
[install]
trusted-host=pypi.tuna.tsinghua.edu.cn
在pip.conf文件写入镜像地址
安装Django相关库
/# pip3 install django
/# pip3 install pymysql
/# pip3 install uwsgi
/# pip3 install supervisor
测试
制作镜像
$ docker commit -m='python3+django3' -a='zn' 6492bd45dd18 ubuntu:django1
因为选择程序放在宿主机上,所以需要进行目录挂载。设置共享文件夹,注意共享文件夹名称会自动生成,但是其中不能包含大写字母和特殊字符?等,如存在请手动修改;常规->共享粘贴板需设置为主机到虚拟机。然后重启default。
$ docker-machine restart default
运行该容器并运行Django项目
$ docker container run -p 8083:8000 -it -v /web/:/home/project ubuntu:django1 /bin/bash
浏览器访问网址 http://192.168.99.100:8083/admin 显示如下界面即为成功
开始尝试nginx部署
nginx 在一个docker里面,django+uwsgi在一个docker里面,nginx容器就直接从docker hub下载,Django镜像就用上面生成的ubuntu:django1镜像
$ docker pull nginx
准备配置文件,以挂载方式加载到容器中
Nginx配置文件 default.conf
upstream django{
# server unix:///home/andrew/django/abuild/abulid.sock;
server 192.168.99.100:8083;
}
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name 192.168.99.100;
charset utf-8;
client_max_body_size 75M;
location /media {
alias /home/project/mysite/media;
}
location /static {
alias /home/project/mysite/static;
}
location / {
uwsgi_pass django;
include /etc/nginx/uwsgi_params;
}
}
supervisord.conf
利用supervisord.conf工具生成supervisord.conf初始文件
echo_supervisord_conf > /etc/supervisord.conf
然后在文件末尾添加以下内容,在保存到宿主机中
[program:mysite]
command=/usr/local/bin/uwsgi --ini /home/project/mysite/uwsgi.ini
directory=/home/project/mysite/
startsecs=0
stopwaitsecs=0
autostart=true
autorestart=true
uwsgi.ini
[uwsgi]
socket = :8000
chdir = /home/project/mysite/
wsgi-file = mysite/wsgi.py
touch-reload = /home/project/mysite/reload
processes = 2
threads = 4
chmod-socket = 664
chown-socket = mysite:nginx
vacuum = true
py-autoreload=1
启动django镜像
/home/project/mysite# supervisorctl -c supervisord.conf restart mysite
启动nginx镜像
$ docker container run -it -p 8089:80 --link 7575c5c6aa2a:web -v /web/nginx/conf/default.conf:etc/nginx/conf.d/defaule.conf nginx /bin/bash
重启服务
/# service nginx restart
此时,可以浏览器访问 http://192.168.99.100:8089/admin 就可以看到后台登录界面了
下一篇会讲述一种更方便的方式生成镜像文件,管理多容器的生成启动
文章浏览阅读1.6k次,点赞4次,收藏3次。解决Uncaught TypeError: Cannot read property ‘prototype‘ of undefined与Cannot read property ‘use‘ of undefined报错_typeerror: cannot read property 'prototype' of undefined
文章浏览阅读3.6k次,点赞8次,收藏82次。14、最小生成树问题(**)【问题描述】若要在n个城市之间建设通信网络,只需要假设n-1条线路即可。如何以最低的经济代价建设这个通信网,是一个网的最小生成树问题。【系统要求】1.利用克鲁斯卡尔算法求网的最小生成树。2.利用普里姆算法求网的最小生成树。3.要求输出各条边及它们的权值。【测试数据】由学生任意指定,但报告上要求写出多批数据测试结果。【实现提示】通信线路一..._最小生成树问题(**) [问题描述] 若要在n个城市之间建设通信网络,只需要假设n-1条
文章浏览阅读467次。一、Socket通信的基本原理首先socket 通信是基于TCP/IP 网络层上的一种传送方式。socket是基于应用服务与TCP/IP通信之间的一个抽象,他将TCP/IP协议里面复杂的通信逻辑进行分装,对用户来说,只要通过一组简单的API就可以实现网络的连接。借用网络上一组socket通信图给大家进行详细讲解:首先,服务端初始化ServerSocket,然后对指定的端口进行绑定,接着对端口及进行..._server talk
文章浏览阅读585次。模型开发python_python 大模型开发
文章浏览阅读1.7k次。第2章 编写简单的查询语句练习11.使用两种方式查询所有员工(EMP)信息。 SELECT * FROM emp; SELECT empno,ename,job,mgr,hiredate,sal,comm,deptno FROM emp;2.查询(EMP)员工编号、员工姓名、员工职位、员工月薪、工作部门编号。 SELECT empno,ename,job,sal,deptno FROM emp;练习21.员工转正后,月薪上调20%,请查询_查询在2001年11月加入部门,且加入部门后任职半年(按182天算)到1年(365天)的员工编
文章浏览阅读3.3k次。版权声明: 本文由Oak/lyris完成,首发于CSDN,作者保留中文版权。未经许可,不得使用于任何商业用途。欢迎转载,但请保持文章及版权声明完整。如需联络请发邮件:[email protected] fu_delphi < unescape
文章浏览阅读2.1k次。实现多路称重模块采集typedef enum { CS1237_CH_1, CS1237_CH_2, CS1237_CH_3, CS1237_CH_4, CS1237_CH_MAX,}CS1237_CH_E;typedef enum{ MODE_OUTPUT, MODE_INPUT,}PORT_MODE_E;#define CS1237_SCLK1_PIN GPIO_Pin_12#define CS1237_DATA1_PIN GPIO_Pin_11 //PA#define_cs1237不稳定
文章浏览阅读637次。长话短说:我想将盖亚天体测量数据绘制成Python中的TESS图像.这怎么可能?请参阅下面的详细说明.我有一个64×64像素TESS星的图像与Gaia ID 4687500098271761792.TESS天文台指南的第8页说1像素是~21弧秒.使用Gaia Archive,我搜索这颗恒星(在顶部特征下面,点击搜索.)并提交查询以查看1000弧秒内的星星,大致是我们需要的半径.我用于搜索的名称是G..._all_world2pix
文章浏览阅读3.9k次。问题现象:打开防火墙,如下提示:处理步骤:1、打开任务管理器2、打开服务3、找到【Windows Firewall】,右键【属性】,将启动类型从【禁用】改为【自动】,以此点击【应用】、【确认】按钮4、点击【启动】按钮5、重新测试,打开或者关闭防火墙功能..._0x80070422防火墙
文章浏览阅读58次。维护程序,升级nginx.apache.php,mysql时为了保持程序依赖模块,所以需要知道老版本的编绎参数。为些总结如下:快速查看服务器软件的编译参数:1、nginx编译参数:your_nginx_dir/sbin/nginx -v2、apache编译参数:cat your_apache_dir/build/config.nice3、php编译参数:your_php_dir/bin/php -..._cat your_mysql_dir/bin/mysqlbug |grep configure
文章浏览阅读5.5k次。Android Studio使用ButterKnife 8.0.1的问题最近做一个新项目,之前使用的ButterKnife 7.0.1,得知目前最新的ButterKnife支持ListView,还支持绑定资源,就像在新项目里使用最新的版本8.0.1,可是使用的时候遇到一个问题,那就是使用BindView注解根本绑定不到TextView或ImageView,也就是绑定到的对象都是null,导致程序异常_android studio弃用8.0.1
文章浏览阅读946次。故障环境:Dockerfile编写环境是Win10+Nodepad++,Docker服务器为Centos7不知道有没有朋友会像我这么懒为了方便测试就用winscp远程打开docker服务器,直接创建dockerfile并进行调试的呢。如果有的话我想一定遇到过这个问题:运行后容器没有驻留,而是异常中止了,使用dokcer logs查看日志却报standard_init_linux.go:1..._winscp自动将dos转换为unix