当前位置: 首页 > news >正文

用laravel做的网站今日的新闻

用laravel做的网站,今日的新闻,利用网络挣钱的路子,注册安全工程师注册管理系统官网目录 安装在线安装离线安装 配置mysql5.7bitnami/mysql8.3redisweb前后台分离部署前端https(SSL)配置nginx动态传参资源限制:内存、cpunacossentinelgateway 问题汇总iptables No chain/target/match by that namedocker-compose.yml修改mysql密码,重启后…

目录

  • 安装
    • 在线安装
    • 离线安装
  • 配置
    • mysql5.7
    • bitnami/mysql8.3
    • redis
    • web前后台分离部署
    • 前端https(SSL)配置
    • nginx动态传参
    • 资源限制:内存、cpu
    • nacos+sentinel+gateway
  • 问题汇总
    • iptables No chain/target/match by that name
    • docker-compose.yml修改mysql密码,重启后不生效

安装

前提:!注意先安装docker

在线安装

# 下载某版本docker-compose文件并改名docker-compose移动至/usr/local/bin
curl -L "https://github.com/docker/compose/releases/download/1.28.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 授权docker-compose可执行
chmod +x /usr/local/bin/docker-compose
# 查看是否安装成功
docker-compose -v

离线安装

需要先下载好docker-compose文件

# 授执行权限
chmod +x docker-compose
# 移动至/usr/bin
cp docker-compose /usr/bin
# 查看是否安装成功
docker-compose -V

配置

mysql5.7

  • !!!注意需要给/docker_mysql/data目录授读写权限, 例如chmod 777 data
  • version23时都可以
version: '3'
services:mysql57:image: mysql:5.7container_name: mysql5.7restart: alwaysenvironment:MYSQL_ROOT_PASSWORD: "123456"TZ: Asia/ShanghaiMYSQL_USER: testMYSQL_PASSWORD: Test@123456# 指定启动命令和配置参数# command: --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci --explicit_defaults_for_timestamp=true --lower_case_table_names=1 --max_allowed_packet=128M --sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO"ports:- 3307:3306volumes:- ./docker_mysql/log:/var/log/mysql- ./docker_mysql/data:/var/lib/mysql- ./docker_mysql/conf:/etc/mysql/conf.d

bitnami/mysql8.3

有一次离线部署,docker官方mysql镜像docker load无法成功,改为bitnami版才成功

  • !!!注意需要给/docker_mysql/data目录授读写权限, 例如chmod 777 data
  • bitnami版配置version必须为2时以下配置才会生效
  • version3时容器虽然运行成功,但密码等配置都无法生效
  • 官网文档
version: '2'
services:mysql:image: bitnami/mysql:8.3container_name: mysql8restart: alwaysenvironment:- MYSQL_ROOT_PASSWORD=123456- MYSQL_USER=prism- MYSQL_PASSWORD=123456- MYSQL_DATABASE=mydatabaseports:- 3307:3306volumes:- ./docker_mysql/data:/bitnami/mysql/data

redis

  • /docker_redis目录下放入配置文件redis.conf
    #开启远程可连接
    #bind 127.0.0.1
    #自定义密码
    requirepass 123456
    #指定 Redis 监听端口(默认:6379)
    port 6379
    #客户端闲置指定时长后关闭连接(单位:秒。0:关闭该功能)
    timeout 0
    #是否压缩数据存储(默认:yes。Redis采用LZ 压缩,如果为了节省 CPU 时间,可以关闭该选项,但会导致数据库文件变的巨大)
    rdbcompression yes
    #指定本地数据文件名(默认:dump.rdb)
    dbfilename dump.rdb
    #指定本地数据文件存放目录
    dir /data
    #指定日志文件位置(如果是相对路径,redis会将日志存放到指定的dir目录下)
    logfile "redis.log"
    
  • 启动后,可进入容器通过redis-cli测试,例如 auth 密码测试自定义密码是否生效
  • !!!注意,如果是先启动的话会自动生成映射目录,其中redis.conf文件会被映射成为目录而不是文件,需要修改后重启
redis:image: redis:6.2.6container_name: redisrestart: alwaysvolumes:- ./docker_redis/redis.conf:/etc/redis/redis.conf- ./docker_redis/data:/data- ./docker_redis/logs:/logscommand: redis-server /etc/redis/redis.confports:- "6380:6379"

web前后台分离部署

后端镜像web-server基于openjdk:8-alpine镜像制成,前端镜像web-front基于nginx镜像制成

  • version2时需要增加links配置才能将后端服务web-server传入前端服务web-front内部的nginx配置用于反向代理,为3时不需要links配置即可实现
  • 若后端程序连接的mysql也是通过该docker-compose部署的,则可在配置里不使用ip端口而是直接使用服务名
  • 也可以不在同一个docker-compose.yml配置,但要确保在同一网络,例如yml文件放在同一个目录下
version: '3'
services:web-server:image: 127.0.0.1:5000/web-servercontainer_name: web-serverrestart: alwaysenvironment:- spring.datasource.url=jdbc:mysql://【mysql服务名】/api?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=CTT# - spring.datasource.url=jdbc:mysql://【ip】:【port】/api?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=CTT- JAVA_OPTS=-Dlog4j2.formatMsgNoLookups=trueweb-front:image: 127.0.0.1:5000/web-frontcontainer_name: web-frontrestart: always# links:#   - web-serverdepends_on:- web-serverports:- "8080:80"

前端https(SSL)配置

主要涉及签名证书通过volumes映射,具体配置可见【docker-compose】【nginx】内网环境https配置

nginx动态传参

主要借助docker-compose的environment、Dockerfile的envsubst以及nginx配置文件模版实现,【docker-compose】【nginx】动态配置

资源限制:内存、cpu

  • 使用deploy进行资源限制时version必须为3
  • cpus配置必须使用引号‘’
  • 需通过docker-compose --compatibility up -d启动才能生效
  • 可通过docker stats --no-stream查看内存及cpu使用情况
version: '3'
services:web-server:image: 127.0.0.1:5000/web-servercontainer_name: web-serverrestart: alwaysdeploy:resources:limits:memory: 256Mcpus: '1'web-front:image: 127.0.0.1:5000/web-frontcontainer_name: web-frontrestart: alwaysdepends_on:- web-serverports:- "8080:80"deploy:resources:limits:memory: 64Mcpus: '0.5'

nacos+sentinel+gateway

  • docker-compose可以通过服务名访问服务,避免了每次修改ip和端口,便于移植
version: '3'
networks: #自定义网络myapp,为了只有这些服务可以在该网络内相互访问myapp:driver: bridge
services: #将容器抽象成服务nacos: #注册中心(官方镜像)image: nacos/nacos-server:latestcontainer_name: nacosrestart: alwaysenvironment:MODE: standalonePREFER_HOST_MODE: ipSPRING_DATASOURCE_PLATFORM: mysqlMYSQL_SERVICE_HOST: 【ip地址】#数据库在外部MYSQL_SERVICE_PORT: 3306MYSQL_SERVICE_DB_NAME: nacos_configMYSQL_SERVICE_USER: nacosMYSQL_SERVICE_PASSWORD: Nacos@123456# MYSQL_SERVICE_DB_PARAM: characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&allowPublicKeyRetrieval=true&serverTimezone=GMT%2B8volumes:- ./docker_nacos/standalone-logs/:/home/nacos/logsports:- "8848:8848"networks:- myappsentinel: #熔断限流(官方镜像)image: bladex/sentinel-dashboardcontainer_name: sentinel-nacosrestart: alwaysdepends_on:- nacosenvironment:NACOS_SERVER_ADDR: nacos:8848NACOS_USERNAME: nacosNACOS_PASSWORD: nacosNACOS_NAMESPACE: publicNACOS_GROUP_ID: SENTINEL_GROUPports:- "8858:8858"networks:- myappgateway: #网关(自制镜像)image: nacos-gatewaycontainer_name: nacos-gatewayrestart: alwaysdepends_on:- nacosports:- "18890:18890"environment:- spring.cloud.nacos.discovery.server-addr=nacos:8848- spring.cloud.sentinel.transport.dashboard=sentinel:8858networks:- myappauthserver: #认证中心(自制镜像)image: nacos-authservercontainer_name: nacos-authserverrestart: alwaysdepends_on:- nacosenvironment:- spring.datasource.url=jdbc:mysql://【mysql服务名】/oauth?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=CTT- spring.cloud.nacos.discovery.server-addr=nacos:8848- spring.cloud.sentinel.transport.dashboard=sentinel:8858- JAVA_OPTS=-Dlog4j2.formatMsgNoLookups=truenetworks:- myapp

问题汇总

iptables No chain/target/match by that name

原因:centos7默认防火墙为firewalld,而不是iptables,而docker使用iptables来做端口映射,所以一旦将firewalld关闭,则会报错
解决:启动防火墙,并一定注意开放平台访问的端口

systemctl start firewalld.service
firewall-cmd --zone=public --add-port=[port]/tcp --permanent
firewall-cmd --reload

docker-compose.yml修改mysql密码,重启后不生效

描述:修改后的密码无法连接mysql,但旧密码依然可以
问题:因为带有旧有登录信息的卷依然在
解决docker volume ls 找到旧卷,docker volume rm删除旧卷
注意!!!千万不要移除mysql容器重启,虽然密码生效了,但是删库,所有数据都没了

http://www.tj-hxxt.cn/news/5767.html

相关文章:

  • 网站开发实现53f客服聊天百度网页链接
  • wordpress 多级菜单插件韶山seo快速排名
  • 做徒步网站怎么样百度怎么搜索网址打开网页
  • 做网站python和php哪个好学自媒体营销推广方案
  • 网站左悬浮代码网络营销买什么好
  • 什么亲子网站可以做一下广告新软件推广
  • 怎样建设网站赚钱茂名seo顾问服务
  • 建设银行海外招聘网站兰州网站开发公司
  • 网站修改域名服务器seo网站有优化培训班吗
  • 公司网站开发说明介绍公司网站
  • 国外活动策划网站企业网站设计优化公司
  • 论述营销型网站的评价标准买卖网交易平台
  • 上海建科建设监理网站网站开发平台有哪些
  • 可以做蛋白三位结构图的网站域名网站
  • 网站要什么备案关键词排名点击软件怎样
  • 怎么做自己下单的网站淘宝热搜关键词排行榜
  • 国内最大c2c网站个人如何在百度做广告
  • 建设一个网站需要哪些费用吗网络营销师报名入口
  • 外贸网站制作公司智慧软文发稿平台
  • php做简单网站教程视频教程线下推广有哪些渠道
  • 长春火车站到机场怎么走微信腾讯会议
  • wordpress商品多选怎么快速优化网站
  • 做家庭影院的有哪些网站市场调研的方法有哪些
  • 微网站需要什么技术seo优化网
  • 做网站的工作轻松吗怎样建网站赚钱
  • 网站建设 收费标准郑州seo优化外包
  • 成都seo网站开发seo网站推广软件
  • 天河网站建设公司广点通广告投放平台
  • 聊城企业做网站推广搜索引擎查关键词排名的软件
  • 宁波网站建设报价多少小程序拉新推广平台