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

微信网站开发软件西安企业网站排名优化工具

微信网站开发软件,西安企业网站排名优化工具,公司网站做二维码网址,wordpress 导入pptDocker Compose简介 Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose#xff0c;您可以使用 YML 文件来配置应用程序需要的所有服务。然后使用一个命令#xff0c;就可以从 YML 文件配置中创建并启动所有服务。而DockerCompose作为一种容器编排工具您可以使用 YML 文件来配置应用程序需要的所有服务。然后使用一个命令就可以从 YML 文件配置中创建并启动所有服务。而DockerCompose作为一种容器编排工具可以让我们轻松地配置和管理多个Docker容器从而快速搭建PHP开发环境。 Compose 使用的三个步骤 使用 Dockerfile 定义应用程序的环境。使用 docker-compose.yml 定义构成应用程序的服务这样它们可以在隔离环境中一起运行。如果你还不了解 YML 文件配置可以先阅读 YAML 入门教程。最后执行 docker-compose up 命令来启动并运行整个应用程序。 安装docker Ubuntu 依次执行下面的命令 # 更新apt sudo apt update sudo apt upgrade # 安装依赖 sudo apt-get install ca-certificates curl gnupg lsb-release # 添加Docker官方GPG密钥 curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add - # 配置Docker镜像源 sudo add-apt-repository deb [archamd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable # 安装docker sudo apt-get install docker-ce docker-ce-cli containerd.io # 配置用户组可选 sudo usermod -aG docker $USER # 查看版本检查是否安装成功 docker --version # 启动docker一般安装完会自动启动如果没有启动请手动执行 systemctl start dockerCentOS 依次执行下面的命令 # 安装依赖 yum install -y yum-utils device-mapper-persistent-data lvm2 # 配置Docker镜像源 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo # 更新yum软件包索引 yum makecache fast # 安装docker yum install docker-ce # 查看版本检查是否安装成功 docker --version # 启动docker一般安装完会自动启动如果没有启动请手动执行 systemctl start docker安装docker-compose 访问Releases · docker/compose (github.com)查看最新版本 然后依次执行下面的命令 # 下载docker-compose文件自行修改版本号 sudo curl -L https://github.com/docker/compose/releases/download/v2.24.6/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose# 给他执行权限 sudo chmod x /usr/local/bin/docker-compose# 查看是否安装成功 docker-compose --version如果觉得下载慢可以将github.com替换为其他镜像域名加速下载例如 sudo curl -L https://hub.nuaa.cf/docker/compose/releases/download/v2.24.6/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-composedocker-compose初始配置 创建初始 docker-compose.yml 文件不含各服务的配置文件映射在哪个目录不做要求内容如下自行修改项目路径和配置文件路径为自己的电脑文件夹路径我这里新建在home/docker目录下 #yaml 配置实例 version: 3 services:php:container_name: php7.4image: php:7.4-fpmrestart: alwaysprivileged: trueports:- 9000:9000volumes:- /home/www:/var/www # php代码目录nginx:container_name: nginximage: nginx:latestprivileged: truerestart: alwaysenvironment:- TZAsia/Shanghaiports:- 80:80- 443:443depends_on:- phpvolumes:- /home/www:/var/www # php代码目录- /home/docker/nginx/logs:/var/log/nginx # nginx日志文件mysql:image: mysql:5.7container_name: mysql5.7privileged: truerestart: alwaysports:- 3306:3306volumes:- /home/docker/mysql/data:/var/lib/mysql # mysql数据目录- /home/docker/mysql/log:/var/log/mysql # mysql日志文件- /etc/localtime:/etc/localtime:ro # 让容器的时钟与宿主机时钟同步避免时间的问题ro是read only只读的意思environment:- MYSQL_ROOT_PASSWORD123456 # root账户密码redis:image: redis:latestcontainer_name: redisprivileged: truerestart: alwaysports:- 6379:6379command: redis-server /usr/local/redis/conf/redis.conf # 启动redis服务并指定配置文件volumes:- /home/docker/redis/data:/data # redis数据目录- /home/docker/redis/conf/redis.conf:/usr/local/redis/conf/redis.conf #redis配置文件常用参数说明 version指定Docker Compose文件的语法版本3是当前广泛使用的版本 services要运行的服务里面是各个服务名称和服务配置 container_name容器名称 image使用的镜像名称 restart容器在退出后的行为[always总是重启容器no不重启unless-stopped重启容器除非容器被手动停止on-failure退出状态码不为0即失败时自动重启该容器] networks将当前容器加入到这个网络中以方便数据传输默认是使用brige连接方式名为docker_default的网络但重启容器后会改变ip地址如果要固定容器ip就要自定义网络 volumes宿主机和容器的目录映射 environment添加环境变量可添加一个或多个键值对布尔含义的值要用引号包裹 ports宿主机和容器的端口映射 build使用当前目录下的dockerfile构建 expose暴露容器端口但不映射到宿主机只通过ip等方式访问容器的时候访问 depends_on以依赖性顺序启动服务先启动depends_on中的服务再启动当前服务注意事项服务启动不会等依赖服务里面的程序启动完才启动只依赖服务是否启动 privileged给容器root权限 启动服务 在 docker-compose.yml 文件所在的目录下执行下面的命令一键启动所有服务 docker-compose up现在打开浏览器访问locahost应该能访问到nginx的首页了如果你是在本地电脑或虚拟机的docker需要在宿主机添加hosts文件ip映射 # 将ip改为你的服务器ip 192.168.204.128 demo.net下面是docker-compose的其他命令 # 一键启动所有服务 docker-compose up# 或者启动所有服务并在后台运行 docker-compose up -d# 停止服务 docker-compose stop# 重启服务 docker-compose restart# 进入指定容器 docker-compose exec [service_name] bash# 查看容器状态 docker-compose ps复制配置文件 如果你不需要自定义配置各个服务可以跳过这个也不用下一步调整docker-compose配置 复制容器的默认配置文件到宿主机冒号前是容器名称冒号后面是容器中配置文件的路径最后是宿主机的配置文件存放目录如果宿主机目录不存在请创建 # nginx sudo docker cp nginx:/etc/nginx/nginx.conf /home/docker/nginx/nginx.conf sudo docker cp nginx:/etc/nginx/conf.d /home/docker/nginx/conf.d # php sudo docker cp php7.4:/usr/local/etc/php/php.ini-production /home/docker/php/php.ini # mysql sudo docker cp mysql5.7:/etc/my.cnf /home/docker/mysql/my.cnf # redis 自动生成空白配置调整docker-compose配置 这个配置加入了各个服务自定义的配置文件映射先执行docker-compose stop停止服务然后用下面的配置替换上面 docker-compose.yml 文件的初始配置然后重新启动服务即可 #yaml 配置实例 version: 3 services:php:container_name: php7.4image: php:7.4-fpmrestart: alwaysprivileged: trueports:- 9000:9000volumes:- /home/www:/var/www # php代码目录- /home/docker/php/php.ini:/usr/local/etc/php/php.ini # php配置文件目录nginx:container_name: nginximage: nginx:latestprivileged: truerestart: alwaysenvironment:- TZAsia/Shanghaiports:- 80:80- 443:443depends_on:- phpvolumes:- /home/docker/nginx/nginx.conf:/etc/nginx/nginx.conf # nginx配置文件目录- /home/docker/nginx/conf.d:/etc/nginx/conf.d # nginx虚拟主机配置文件目录- /home/www:/var/www # php代码目录- /home/docker/nginx/logs:/var/log/nginx # nginx日志目录mysql:image: mysql:5.7container_name: mysql5.7privileged: truerestart: alwaysports:- 3306:3306volumes:- /home/docker/mysql/data:/var/lib/mysql # mysql数据目录- /home/docker/mysql/my.cnf:/etc/my.cnf # mysql配置文件- /home/docker/mysql/log:/var/log/mysql # mysql日志文件- /etc/localtime:/etc/localtime:ro # 让容器的时钟与宿主机时钟同步避免时间的问题ro是read only只读的意思environment:- MYSQL_ROOT_PASSWORD123456 # root账户密码redis:image: redis:latestcontainer_name: redisprivileged: truerestart: alwaysports:- 6379:6379command: redis-server /usr/local/redis/conf/redis.conf # 启动redis服务并指定配置文件volumes:- /home/docker/redis/data:/data # redis数据目录- /home/docker/redis/conf/redis.conf:/usr/local/redis/conf/redis.conf #redis配置文件新建站点 创建站点配置文件例如网站域名是http://demo.net那么就在ngxin/conf.d目录下新建一个demo.net.conf cd /home/docker/nginx/conf.d sudo vi demo.net.conf文件内容如下 server {listen 80;server_name www.demo.net demo.net;root /var/www/demo;index index.php index.html;location ~ \.php(.*)$ {fastcgi_pass php:9000;fastcgi_index index.php;fastcgi_split_path_info ^((?U).\.php)(/?.)$;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;fastcgi_param PATH_INFO $fastcgi_path_info;fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;include fastcgi_params;} }注意修改你的root为容器里的代码目录server_name为你的域名 在你的站点代码目录新建php文件内容随便写 cd /var sudo mkdir www cd ./www sudo mkdir demo sudo vi test.php?php echo hello world;如果你是在本地电脑或虚拟机的docker需要在宿主机添加hosts文件ip映射 # 将ip改为你的服务器ip 192.168.204.128 demo.net然后重启服务现在打开浏览器访问http://demo.net/test.php就能看到输入的hello world了 常见问题 laravel、thinkphp等框架站点配置伪静态示例 server {listen 80;server_name hello.net;root /var/www/hello/public; # 站点根目录include /var/www/hello/public/nginx.htaccess; # 配置伪静态location ~ \.php(.*)$ {fastcgi_pass php:9000;fastcgi_index index.php;fastcgi_split_path_info ^((?U).\.php)(/?.)$;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;fastcgi_param PATH_INFO $fastcgi_path_info;fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;include fastcgi_params;} }laravel框架报错The stream or file /var/www/hello/storage/logs/laravel.log could not be opened in append mode: failed to open stream: Permission denied The exception occurred while attempting to log 原因日志目录没有权限 解决sudo chmod -R 777 storage laravel框架报错could not find driver (SQL: select * from admin_userswhereusername admin limit 1) 原因没有安装php-pdo驱动 解决 1.进入php容器一次执行下面的命令安装驱动 docker-compose exec php bash docker-php-ext-install pdo pdo_mysql2.在php.ini文件添加扩展 extensionpdo_mysql3.重启容器
http://www.w-s-a.com/news/602520/

相关文章:

  • 网站调整方案适合平面设计师的网站
  • 免费服务器建立网站用html5做的旅游网站代码
  • 学校英语网站栏目名称WordPress禁用邮件注册
  • 手机qq网页版网站沧州手机网站开发
  • 深圳罗湖网站设计公司建设的网站属于无形资产吗
  • 网站开发python西安网站建站品牌
  • 网站开发商标属于哪一类做网站还有钱赚吗
  • 做设计的搜素材上什么网站好设计公司画册设计哪家好
  • 视频网站开发需要什么语言做ui设计一年后年薪多少
  • 网站服务器维护费用统一企业官方网站
  • 网站如何调用手机淘宝做淘宝客呼和浩特网站运营公司
  • 做推广可以上那些网站网页游戏排行榜2014前十名
  • 国外网站备案流程企业网站 流程
  • 重庆网站建设letide童程童美少儿收费价目表
  • 苏州建站仿站东莞排名推广
  • 大中小网站的区分wordpress个人主页主题
  • 商务网站建设的可行性分析包括小程序源码网免费
  • 永州网站建设收费标准重庆网站建设公司夹夹虫专业
  • python做网站多少钱wordpress 2.8
  • 深圳网站平台网站开发工作程序怎么写
  • 自己可以接单做网站吗wordpress 添加自定义按钮
  • 网站首页权重宣传页制作
  • 智能网站建设软件有哪些方面网页的建设
  • 石铜路网站建设生鲜电商网站开发
  • 怎么提高网站加载速度慢网站的轮播怎么做的
  • 网络网站推广优化建筑工程教育网官方网站
  • 旅行社网站策划做网站编辑好还是美工好
  • 珠海做网站找哪家好在线磁力搜索神器
  • 做网站优化有必要wordpress导航栏字体
  • 中山网站建设半江红沈阳免费网站建站模板