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

海报模板网站有哪些网页游戏排行榜2017

海报模板网站有哪些,网页游戏排行榜2017,it外包公司品牌,怀柔网站整站优化公司文章目录前言一、准备阶段二、论坛项目部署三、线上商城项目部署四、docker部署redis集群前言 之前通过Linux访问多台主机已经部署过论坛项目和线上商城,现在要基于一台主机部署多个容器实现该论坛项目和线上商城 一、准备阶段 示例:pandas 是基于NumP…

文章目录

  • 前言
  • 一、准备阶段
  • 二、论坛项目部署
  • 三、线上商城项目部署
  • 四、docker部署redis集群


前言

之前通过Linux访问多台主机已经部署过论坛项目和线上商城,现在要基于一台主机部署多个容器实现该论坛项目和线上商城


一、准备阶段

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。

二、论坛项目部署

1、创建虚拟网络
在这里插入图片描述
2.下载镜像
在这里插入图片描述
3.创建对应的目录
在这里插入图片描述
4.配置php
4.1编写Dockerfile文件

cat Dockerfile 
FROM alpine:latestRUN apk update && apk add --no-cache php83 php83-fpm php83-mysqlnd php83-gd php83-curl php83-mbstring \php83-json php83-openssl php83-xml php83-mysqli php83-tokenizer && mkdir -p /var/www/discuz && rm -rf \/etc/php83/php-fpm.d/www.conf && addgroup -g 101 -S nginx && adduser -u 101 -D -S -G nginx nginx && \chown -R nginx:nginx /var/www/discuzEXPOSE 9000CMD ["php-fpm83", "-F"]

4.2编写php配置文件

cat conf.d/www.conf
[www]
user = nginx
group = nginx
listen = 9000
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3

4.3创建php镜像
在这里插入图片描述

4.4生成php容器
在这里插入图片描述

5.配置nginx
5.1编写Dockerfile文件

FROM alpine:latest# 安装 nginx 并创建目录
RUN apk update && \apk add nginx && \rm -f /etc/nginx/http.d/default.conf && \mkdir -p /var/www/discuzEXPOSE 80# 启动 Nginx
CMD ["nginx", "-g", "daemon off;"]

5.2编写nginx配置文件

 cat  conf.d/default.conf
server {listen 80;server_name _;root /var/www/discuz;index index.php index.html index.htm;location ~ \.php$ {fastcgi_index index.php;fastcgi_pass php:9000;fastcgi_param SCRIPT_FILENAME /var/www/discuz$fastcgi_script_name;include fastcgi_params;}location ~ /\.ht {deny all;}access_log /var/log/nginx/discuz_access.log;error_log /var/log/nginx/discuz_error.log;
}

5.3构建nginx镜像
docker build -t alpine:nginx .
5.4生成php容器

docker run -itd -v /root/discuz/nginx/conf.d/:/etc/nginx/http.d/ -v /root/discuz/discuz:/var/www/discuz/ -v /root/discuz/nginx/logs:/var/log/nginx --name=nginx --network dizcus -p 80:80 alpine:nginx

在这里插入图片描述
5.5测试
在这里插入图片描述
在这里插入图片描述
php可以正常解析

6.编写mysql
6.1编写Mysql配置文件

cat  conf.d/mysql.conf
[mysqld]
character-set-server = utf8mb4
bind-address = 0.0.0.0
max_connections = 500

6.2编写Dockerfile

cat Dockerfile 
FROM mysql:latestCOPY conf.d/ /etc/mysql/conf.d/COPY init.sql /docker-entrypoint-initdb.d/RUN chown -R mysql:mysql /etc/mysql/conf.d && \chmod 644 /etc/mysql/conf.d/mysql.confEXPOSE 3306

6.3创建数据库和用户

cat init.sql 
-- 创建数据库CREATE DATABASE IF NOT EXISTS discuz DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;-- 创建用户并授权CREATE USER IF NOT EXISTS 'discuz'@'%' IDENTIFIED BY '123.com';
GRANT ALL PRIVILEGES ON discuz.* TO 'discuz'@'%';
FLUSH PRIVILEGES;

6.4创建Mysql镜像

docker build -t mysql:mysql .

6.5生成mysql容器

docker run -itd --name=mysql --network dizcus -v /root/discuz/mysql/data:/var/lib/mysql -v /root/discuz/mysql/conf.d/mysql.conf:/etc/mysql/conf.d/mysql.conf -v /root/discuz/mysql/init.sql:/docker-entrypoint-initdb.d/init.sql -e MYSQL_ROOT_PASSWORD=123.com mysql:mysql

在这里插入图片描述
6.6创建mysql测试文件

 cat  mysql.php
<?php
// 数据库配置
$host ='mysql';        // MySQL容器名或IP
$user = 'discuz';      // 用户名
$pass = '123.com';     // 密码
$dbname = 'discuz';    // 数据库名// 创建连接
$conn = new mysqli($host, $user, $pass, $dbname);// 检查连接
if ($conn->connect_error) {die("连接失败: ". $conn->connect_error);
}
echo "数据库连接成功!";// 关闭连接
$conn->close();
?>

6.7测试
在这里插入图片描述
7.论坛项目
7.1导入论坛项目
在这里插入图片描述
7.2赋予权限
在这里插入图片描述
7.3访问论坛项目
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
7.4这个地址的路径默认跟着upload,可以更改访问路径
在这里插入图片描述
重新启动nginx容器后访问

7.5通过域名访问
在这里插入图片描述

修改 Windows 的 hosts 文件(以管理员身份):​​
打开路径:C:\Windows\System32\drivers\etc\hosts

本机ip 域名

在这里插入图片描述

三、线上商城项目部署

1.准备阶段
创建好对应的目录
在这里插入图片描述
2.下载tomcat镜像
在这里插入图片描述
3.生成mysql数据
之前做这个项目解压包中有biyesheji.sql移动到mysql容器目录下(/root/discuz/mysql/data/)
4.之前的conf下色server.xml复制到tomcat容器 的conf.d中
在这里插入图片描述
还有之前毕业设计压缩包拷贝到shop/shop下
在这里插入图片描述
不用解压,tomcat容器启动后会自行解压

5.在宿主机上创建数据库和用户
在这里插入图片描述
6.进入mysql容器
创建数据库
在这里插入图片描述
创建用户
在这里插入图片描述
赋予权限

grant all on biyesheji.* to ‘tomcat’@‘%’;

7.退出mysql注入数据

bash-5.1# mv /var/lib/mysql/biyesheji.sql  ./
bash-5.1# ls
afs            boot                        etc   lib64  opt   run   sys  var
bin            dev                         home  media  proc  sbin  tmp
biyesheji.sql  docker-entrypoint-initdb.d  lib   mnt    root  srv   usr
bash-5.1# mysql -uroot -p'123.com' biyesheji < ./biyesheji.sql 
mysql: [Warning] Using a password on the command line interface can be insecure.

8.修改配置文件
vim /biyesheji/WEB-INF/classes/jdbc.properties

在这里插入图片描述
9.生成tomcat容器

docker run -itd --name tomcat --network dizcus -p 8080:8080 -v /root/shop/shop/:/usr/local/tomcat/webapps/ -v /root/shop/conf.d/server.xml:/usr/local/tomcat/conf/server.xml -v /root/shop/log/:/usr/local/tomcat/logs/ --restart=always tomcat:8

在这里插入图片描述
10.测试
在这里插入图片描述

四、docker部署redis集群

1,准备

mkdir -p /opt/redis-cluster && cd /opt/redis-cluster
mkdir -p conf/{7001,7002,7003,7004,7005,7006}

2.编写配置文件

cat > conf/7001/redis.conf << 'EOF'
# 节点端口(每个节点不同:7001~7006)
port 7001
# 开启集群模式
cluster-enabled yes
# 集群配置文件(自动生成,无需修改)
cluster-config-file nodes.conf
# 集群节点超时时间(毫秒)
cluster-node-timeout 5000
# 允许所有IP连接(关键:外部可访问)
bind 0.0.0.0
# 开启AOF持久化
appendonly yes
# 集群跨节点重定向(必须开启)
cluster-require-full-coverage no
# 密码(可选,生产环境建议设置)
requirepass 123456
# 集群节点间通信密码(需与requirepass一致)
masterauth 123456
EOF

复制文件到其他节点:

for port in {7002..7006}; docp conf/7001/redis.conf conf/$port/redis.confsed -i "s/7001/$port/g" conf/$port/redis.conf
done

3.创建 docker-compose.yml

version: '3.8'
services:# 主节点1redis-7001:image: redis:7.2-alpine  # 基于轻量Alpine镜像container_name: redis-7001restart: alwaysports:- "7001:7001"  # 端口映射(主机:容器)- "17001:17001"  # 集群总线端口(主端口+10000)volumes:- ./conf/7001/redis.conf:/etc/redis/redis.conf  # 配置文件挂载- ./data/7001:/data  # 数据持久化目录networks:- redis-cluster-netcommand: redis-server /etc/redis/redis.conf  # 启动命令# 主节点2redis-7002:image: redis:7.2-alpinecontainer_name: redis-7002restart: alwaysports:- "7002:7002"- "17002:17002"volumes:- ./conf/7002/redis.conf:/etc/redis/redis.conf- ./data/7002:/datanetworks:- redis-cluster-netcommand: redis-server /etc/redis/redis.conf# 主节点3redis-7003:image: redis:7.2-alpinecontainer_name: redis-7003restart: alwaysports:- "7003:7003"- "17003:17003"volumes:- ./conf/7003/redis.conf:/etc/redis/redis.conf- ./data/7003:/datanetworks:- redis-cluster-netcommand: redis-server /etc/redis/redis.conf# 从节点1(对应主节点1)redis-7004:image: redis:7.2-alpinecontainer_name: redis-7004restart: alwaysports:- "7004:7004"- "17004:17004"volumes:- ./conf/7004/redis.conf:/etc/redis/redis.conf- ./data/7004:/datanetworks:- redis-cluster-netcommand: redis-server /etc/redis/redis.conf# 从节点2(对应主节点2)redis-7005:image: redis:7.2-alpinecontainer_name: redis-7005restart: alwaysports:- "7005:7005"- "17005:17005"volumes:- ./conf/7005/redis.conf:/etc/redis/redis.conf- ./data/7005:/datanetworks:- redis-cluster-netcommand: redis-server /etc/redis/redis.conf# 从节点3(对应主节点3)redis-7006:image: redis:7.2-alpinecontainer_name: redis-7006restart: alwaysports:- "7006:7006"- "17006:17006"volumes:- ./conf/7006/redis.conf:/etc/redis/redis.conf- ./data/7006:/datanetworks:- redis-cluster-netcommand: redis-server /etc/redis/redis.conf# 自定义网络(确保节点间通信)
networks:redis-cluster-net:driver: bridgeipam:config:- subnet: 172.20.0.0/16  # 固定子网,避免IP冲突

4.创建容器

docker-compose up -d
验证:
docker-compose ps

进入任意容器创建集群:

docker exec -it redis-7001 sh

redis-cli -a 123456 --cluster create \
172.20.0.2:7001 \
172.20.0.4:7002 \
172.20.0.6:7003 \
172.20.0.5:7004 \
172.20.0.1:7005 \
172.20.0.3:7006 \
--cluster-replicas 1
Can I set the above configuration? (type 'yes' to accept): yes

查看详细内容:

redis-cli -a 123456 -p 7001 cluster info

查看节点:

redis-cli -a 123456 -p 7001 cluster nodes

信息如下:

Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
94d9d28205c0048660f13f51e083c3bd6a47720d 172.20.0.4:7002@17002 master - 0 1754533299525 2 connected 5461-10922
944c1704c3cbb95e672fac260f889ff020a20d63 172.20.0.7:7005@17005 slave 97a1189612359d068794741e3007f1371464d21a 0 1754533299525 1 connected
97a1189612359d068794741e3007f1371464d21a 172.20.0.2:7001@17001 myself,master - 0 1754533298000 1 connected 0-5460
55a6a751b9d9b213b0bdf0b7e0d329a208832b0f 172.20.0.3:7006@17006 slave 94d9d28205c0048660f13f51e083c3bd6a47720d 0 1754533299525 2 connected
659d74a1efbbd0fea771cb1585a0461d06215b49 172.20.0.5:7004@17004 slave 80a10d8b6adc4b57f50f8b1c30c09b7bcebc34ba 0 1754533299000 3 connected
80a10d8b6adc4b57f50f8b1c30c09b7bcebc34ba 172.20.0.6:7003@17003 master - 0 1754533299741 3 connected 10923-16383

5.容器外验证:

redis-cli -h 192.168.144.177 -p 7001 -a 123456 -c   -h是本机的ip

结果如下

192.168.144.177:7001> set test_key "hello_redis_cluster"
-> Redirected to slot [15118] located at 172.20.0.6:7003
OK
172.20.0.6:7003> get test_key
"hello_redis_cluster"
172.20.0.6:7003> set test_key2 "hello_redis_cluster"
-> Redirected to slot [3745] located at 172.20.0.2:7001
OK
172.20.0.2:7001> 

可以停用master的容器,slave就会变成master,
再次启动master的容器,又会回复正常

http://www.dtcms.com/a/467643.html

相关文章:

  • discuz企业网站音乐视频怎么做mp3下载网站
  • 装饰公司网站源码下载校园网站建设检查自评报告
  • 泉州网站建设设计餐饮网站网页设计代码
  • 亚马逊欧洲站vat怎么申请wordpress模板8
  • FreeRTOS消息队列
  • 做网站卖机器网站建设补充合同范本
  • 广州公司网站制作招聘信息小程序api开发
  • 自贡做网站的公司pr值高的网站
  • 东莞材料网站建设凡科网站网站建设进不去
  • 某些人是在没靠山的时候才开始独立:失去依靠与独立性的关系研究
  • CLion配置STM32CubeIDE,令STM32F108C8T6点灯
  • 站长素材网站官网如何用python做网站脚本语言
  • 求个网站2021年能用泰兴网站建设价格
  • 学校网站建设策划方案建设公司网站需要准备什么
  • 做网站需要的技术wordpress导航改哪个php文件夹
  • 建设企业网站企业网上银行官网官方aspnet网站开发实例论文
  • [C# starter-kit] 命令/查询职责分离CQRS | MediatR |
  • 做机械配件的网站网站设计参考网址
  • 网站建设公司有哪几家成都网站建设免费咨询
  • 用dw做网站怎么做出下拉菜单网站不备案百度收录吗
  • 做啪啪网站紫金银行网站
  • 自助建站系统免费模式网络营销网站建设培训
  • 眼镜网站 wordpress模板中国建设银行网站密码是什么意思
  • 做网站的规范嵌入式培训机构排名前十
  • 做二手车有哪些网站有哪些手续企业网站模板php
  • 中老年适合在哪个网站做直播德惠市城乡建设局网站
  • 网站抄袭我网站市城乡规划建设局网站
  • 网站建设公司哪家好速找盛世传媒一流的网站建设
  • 360检测网站开发语言的工具哪里有做app软件开发
  • 网站迁移 域名设置网站建设安全规范