首页 文章 精选 留言 我的

精选列表

搜索[轻量版],共10000篇文章
优秀的个人博客,低调大师

docker版Django

原文地址:http://kekefund.com/2017/03/30/docker-django/ (本人博客) Django的运行是基于python的环境,加上django包。在docker中运行django,实现方式是从docker下载python镜像,然后安装django运行所依赖的包。 在https://store.docker.com/images/python?tab=description 中介绍pull镜像方式有一种叫python:onbuild。 这种镜像创建方式根据项目中提供的requirements.txt文件自动pip安装依赖包。大多数情况,通过python:onbuild能创建一个满足工程所需的独立镜像。 一、编写requirements.txt 下述的目录结构是一个Django Rest Framework例子,其中项目名称为restful,app名称为api。 首先我们需要把项目所依赖的包放到requirements.txt中: Django==1.8 django-bootstrap-toolkit==2.15.0 django-filter==1.0.1 djangorestframework==3.5.4 djangorestframework-jwt==1.10.0 pandas==0.19.2 SQLAlchemy==1.1.4 MySQL-python==1.2.5 二、编写Dockerfile 本文是基于python2.7制作的,Dockerfile文件如下: FROM python:2-onbuild CMD [ "python", "./manage.py", "runserver", "0.0.0.0:8000"] CMD命令执行Django启动程序,0.0.0.0是对所有IP开放,监听端口8000。 需要说明的是CMD中的每个参数得单独分开,像这样"runserver 0.0.0.0:8000"是运行不成功的。 2.1 pip 国内镜像 先创建pip.conf文件,使用阿里云作为镜像: [global] index-url = http://mirrors.aliyun.com/pypi/simple/ [install] trusted-host=mirrors.aliyun.com 在创建Dockerfile: FROM python:3.5 RUN mkdir -p /usr/src/app WORKDIR /usr/src/app COPY pip.conf /root/.pip/pip.conf COPY requirements.txt /usr/src/app/ RUN pip install -r /usr/src/app/requirements.txt RUN rm -rf /usr/src/app COPY . /usr/src/app CMD [ "python", "./manage.py", "runserver", "0.0.0.0:8091"] 三、构建镜像 $ docker build -t my-python-app . [cbb@number_api]$ docker build -t number_api_django:0.3 . Sending build context to Docker daemon 655.9 kB Step 1/2 : FROM python:2-onbuild # Executing 3 build triggers... Step 1/1 : COPY requirements.txt /usr/src/app/ Step 1/1 : RUN pip install --no-cache-dir -r requirements.txt ---> Running in 4711187b3011 Collecting Django==1.8 (from -r requirements.txt (line 2)) Downloading Django-1.8-py2.py3-none-any.whl (6.2MB) Collecting django-bootstrap-toolkit==2.15.0 (from -r requirements.txt (line 3)) Downloading django-bootstrap-toolkit-2.15.0.tar.gz Collecting django-filter==1.0.1 (from -r requirements.txt (line 4)) Downloading django_filter-1.0.1-py2.py3-none-any.whl (54kB) Collecting djangorestframework==3.5.4 (from -r requirements.txt (line 5)) Downloading djangorestframework-3.5.4-py2.py3-none-any.whl (709kB) Collecting djangorestframework-jwt==1.10.0 (from -r requirements.txt (line 6)) Downloading djangorestframework_jwt-1.10.0-py2.py3-none-any.whl Collecting pandas==0.19.2 (from -r requirements.txt (line 7)) Downloading pandas-0.19.2-cp27-cp27mu-manylinux1_x86_64.whl (17.2MB) Collecting SQLAlchemy==1.1.4 (from -r requirements.txt (line 8)) Downloading SQLAlchemy-1.1.4.tar.gz (5.1MB) Collecting MySQL-python==1.2.5 (from -r requirements.txt (line 9)) Downloading MySQL-python-1.2.5.zip (108kB) Collecting PyJWT<2.0.0,>=1.4.0 (from djangorestframework-jwt==1.10.0->-r requirements.txt (line 6)) Downloading PyJWT-1.4.2-py2.py3-none-any.whl Collecting pytz>=2011k (from pandas==0.19.2->-r requirements.txt (line 7)) Downloading pytz-2016.10-py2.py3-none-any.whl (483kB) Collecting numpy>=1.7.0 (from pandas==0.19.2->-r requirements.txt (line 7)) Downloading numpy-1.12.1-cp27-cp27mu-manylinux1_x86_64.whl (16.5MB) Collecting python-dateutil (from pandas==0.19.2->-r requirements.txt (line 7)) Downloading python_dateutil-2.6.0-py2.py3-none-any.whl (194kB) Requirement already satisfied: six>=1.5 in /usr/local/lib/python2.7/site-packages (from python-dateutil->pandas==0.19.2->-r requirements.txt (line 7)) Installing collected packages: Django, django-bootstrap-toolkit, django-filter, djangorestframework, PyJWT, djangorestframework-jwt, pytz, numpy, python-dateutil, pandas, SQLAlchemy, MySQL-python Running setup.py install for django-bootstrap-toolkit: started Running setup.py install for django-bootstrap-toolkit: finished with status 'done' Running setup.py install for SQLAlchemy: started Running setup.py install for SQLAlchemy: finished with status 'done' Running setup.py install for MySQL-python: started Running setup.py install for MySQL-python: finished with status 'done' Successfully installed Django-1.8 MySQL-python-1.2.5 PyJWT-1.4.2 SQLAlchemy-1.1.4 django-bootstrap-toolkit-2.15.0 django-filter-1.0.1 djangorestframework-3.5.4 djangorestframework-jwt-1.10.0 numpy-1.12.1 pandas-0.19.2 python-dateutil-2.6.0 pytz-2016.10 Step 1/1 : COPY . /usr/src/app ---> 712a54b6b923 Removing intermediate container df33c056f7c0 Removing intermediate container 4711187b3011 Removing intermediate container 6220af43bf96 Step 2/2 : CMD python ./manage.py runserver 0.0.0.0:8000 ---> Running in 53c0cf32d840 ---> 17c97bc704d9 Removing intermediate container 53c0cf32d840 Successfully built 17c97bc704d9 [cbb@number_api]$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE number_api_django 0.3 17c97bc704d9 23 seconds ago 868 MB 这样就成功创建了镜像number_api_django:0.3 四、运行容器 docker run [cbb@number_api]$ docker run -it --rm -p 8080:8000 --name api1 number_api_django:0.3 Performing system checks... System check identified no issues (0 silenced). March 30, 2017 - 07:34:03 Django version 1.8, using settings 'restful.settings' Starting development server at http://0.0.0.0:8000/ Quit the server with CONTROL-C. 这样就启动了django程序。

优秀的个人博客,低调大师

nginx 1.22.1 稳定版和 1.23.2 主线版发布

nginx 发布了两个新版本,分别是 stable 分支的 1.22.1 和 mainline 分支的 1.23.2,更新内容主要是修复安全问题。 nginx 1.22.1 安全修复:使用 ngx_http_mp4_module 模块处理特制的 mp4 文件时,可能会导致 worker 进程崩溃、worker 进程内存泄漏和损坏,也可能产生潜在的其他影响 (CVE-2022-41741, CVE-2022-41742) nginx 1.23.2 安全修复:使用 ngx_http_mp4_module 模块处理特制的 mp4 文件时,可能会导致 worker 进程崩溃、worker 进程内存泄漏和损坏,也可能产生潜在的其他影响 (CVE-2022-41741, CVE-2022-41742) 新特性:引入"$proxy_protocol_tlv_..."变量 新特性:当在"ssl_session_cache"指令中使用共享内存时,TLS 会话凭据加密密钥会自动切换 变化:"bad record type" SSL 错误的日志级别从"crit"降低到"info" 变化:当在"ssl_session_cache"指令中使用共享内存时,“无法分配新会话”的错误被记录在"warn"级别,而不是此前的"alert",并且不超过每秒钟一次。 Bugfix:修复 nginx/Windows 无法使用 OpenSSL 3.0.x 构建的问题 Bugfix:修复 PROXY 协议的日志错误 Workaround:当使用搭载 OpenSSL 的 TLSv1.3 时,来自"ssl_session_cache"指令的共享内存被用在使用 TLS 会话凭据的会话上 Workaround:当使用搭载 OpenSSL 或 BoringSSL 的 TLSv1.3 时,使用"ssl_session_timeout"指令指定的超时不起作用 下载地址

优秀的个人博客,低调大师

谷歌搜索“AI 模式”全量上线:结果页内一键对话

谷歌确认其移动端搜索的“AI模式”已完成全球范围部署,用户在使用AI概览(AI Overviews)时无需离开结果页,即可通过底部输入框与Gemini模型直接对话,实现即时追问与多轮交互 —— 传统搜索所需的多次跳转被缩减为“一次滚动、一键提问”。 技术层面,AI模式采用“查询扇出”机制:系统先将用户问题拆解为多个子主题,并行抓取知识图谱、实时体育、财经及购物数据,再合成带引用来源的完整答案;若用户继续追问,模型将结合上下文与搜索历史给出个性化回复,对话长度可达传统搜索的三倍。 目前该功能已在近120个国家和地区上线,iOS与Android端同步支持文字、语音及图片输入。 谷歌搜索中心强调,AI模式沿用既有质量排名系统,网页如被模型引用仍会计入Search Console流量;早期数据显示,含AI概览的结果页点击率虽下降约36%,但停留时长与转化质量显著提升。对于内容创作者,谷歌建议继续遵循结构化数据、内部链接等基础SEO规范,无需额外优化即可被AI模式“选中”引用。 业内人士分析,内置式AI对话让谷歌搜索从“信息检索”迈向“智能助手”,直接对标ChatGPT Search与Perplexity;若未来加入预订、购票等代理功能,移动搜索的商业链路或将彻底重写。

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册