Docker搭建应用栈_创建一个docker应用栈,2024年最新进阶学习

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新软件测试全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024b (备注软件测试)
img

正文

2)启动redis-slave1

docker attach redis-slave1

cp /data/redis.conf /usr/local/bin

/usr/local/bin/redis-server redis.conf

3、redis-slave2配置并启动(此步骤同上)

4、测试redis集群

docker attach redis-master

redis-cli

127.0.0.1:6379>set master 'test"

OK

127.0.0.1:6379>get master

“test”

Ctl+p+q

docker attach redis-slave1

redis-cli

127.0.0.1:6379>get master

“test”

可以取到“test”,说明redis集群搭建成功。

四、App配置(以下只以APP1为例,APP2步骤同样,只是名称和端口要对应修改)

1、环境准备

docker attach APP1

pip install redis

#验证

python

import redis

没有报错,则说明redis安装成功。

2、创建工程

在容器内执行:

mkfir -p /usr/src/app/dockerweb

cd /usr/src/app/dockerweb

django-admin.py startproject redisweb

cd redisweb

python manage.py start app helloworld

3、代码编辑

退出容器,在host上执行文件编辑:

cd ~/Project/Django/App1/dockerweb/redisweb/helloworld/

vi view.py


import redis
def hello(request):
str=redis.__file__
str+=“

r=redis.Redis(host=‘db’,port=6379,db=0)
info=r.info()
str+=(“Set Hi
”)
r.set(‘Hi’,‘HelloWorld-APP1’)
str+=(“Get Hi: %s
” % r.get(‘Hi’))
str+=(“Redis Info:
”)
str+=(“Key: Info Value”)
for key in info:
str+=(“%s: %s
” % (key,info[key]))
return HttpResponse(str)


cd …/redisweb/

vi setting.py

在INSTALLED_APP里面的最后一行加入:

‘helloworld’,

另外,修改ALLOWED_HOSTS如下,否则外部访问不了:

ALLOWED_HOSTS = [‘*’]

vi urls.py


“”"redisweb URL Configuration

The urlpatterns list routes URLs to views. For more information please see:
https://docs.djangoproject.com/en/1.10/topics/http/urls/
Examples:
Function views

  1. Add an import:  from my_app import views
  2. Add a URL to urlpatterns:  url(r’^$', views.home, name=‘home’)
    Class-based views
  3. Add an import:  from other_app.views import Home
  4. Add a URL to urlpatterns:  url(r’^$', Home.as_view(), name=‘home’)
    Including another URLconf
  5. Import the include() function: from django.conf.urls import url, include
  6. Add a URL to urlpatterns:  url(r’^blog/‘, include(‘blog.urls’))
    “”"
    from django.conf.urls import url
    from django.contrib import admin
    from helloworld.views import hello
    urlpatterns = [
    url(r’^admin/‘, admin.site.urls),
    url(r’^helloworld$',hello),
    ]

4、数据库同步

docker attach APP1

cd /usr/src/app/dockerweb/redisweb

python manage.py makeigrations

python manage.py migrate

如果是旧版本的django,上面那句命令可用

python manage.py syncdb

代替。

5、服务启动

python manage.py runserver 0.0.0.0:8001

五、HAProxy负载均衡配置

1、haproxy配置文件编写

cd ~/Project/HAProxy

vi haproxy.cfg


global
log 127.0.0.1 local0
maxconn 4096
chroot /usr/local/sbin
daemon
nbproc 4
pidfile /usr/local/sbin/haproxy.pid

defaults
log 127.0.0.1 local3
mode http
option dontlognull
option redispatch
retries 2
maxconn 2000
balance roundrobin
timeout connect 5000ms
timeout client 50000ms
timeout server 50000ms

listen redis_proxy
bind 0.0.0.0:6301
stats enable
stats uri /haproxy-stats
server APP1 APP1:8001 check inter 2000 rise 2 fall 5
server APP2 APP2:8002 check inter 2000 rise 2 fall 5


2、启动haproxy

docker attach HAProxy

cd /tmp

cp haproxy.cfg /usr/local/sbin/

/usr/local/sbin/haproxy -f haproxy.cfg

六、应用栈访问测试

本机或者其他机器通过浏览器访问:

假设在本机,浏览器中输入:

http://localhost:6301/helloworld

如果出现如下页面,则说明整个应用栈部署成功:

/usr/local/lib/python3.4/site-packages/redis/__init__.py

Set Hi

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注软件测试)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
helloworld

如果出现如下页面,则说明整个应用栈部署成功:

/usr/local/lib/python3.4/site-packages/redis/__init__.py

Set Hi

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注软件测试)
[外链图片转存中…(img-EWA2dhtV-1713298965171)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 17
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值