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

招聘网站开发的背景网络营销推广公司名称

招聘网站开发的背景,网络营销推广公司名称,wordpress 微软雅黑,网站短链接怎么做作者主页: 正函数的个人主页 文章收录专栏: Docker 欢迎大家点赞 👍 收藏 ⭐ 加关注哦! 本节适用于 PHP 开发者阅读。Laravel 基于 8.x 版本,各个版本的文件结构可能会有差异,请根据实际自行修改。 准备 新…

在这里插入图片描述

作者主页: 正函数的个人主页
文章收录专栏: Docker
欢迎大家点赞 👍 收藏 ⭐ 加关注哦!


本节适用于 PHP 开发者阅读。Laravel 基于 8.x 版本,各个版本的文件结构可能会有差异,请根据实际自行修改。

准备

新建一个 Laravel 项目或在已有的 Laravel 项目根目录下新建 Dockerfile .dockerignore laravel.conf 文件。

.dockerignore 文件中写入以下内容。

.idea/
.git/vendor/node_modules/public/js/
public/css/
public/mix-manifest.jsonyarn-error.logbootstrap/cache/*
storage/# 自行添加其他需要排除的文件,例如 .env.* 文件

laravel.conf 文件中写入 nginx 配置。

server {listen 80 default_server;root /app/laravel/public;index index.php index.html;location / {try_files $uri $uri/ /index.php?$query_string;}location ~ .*\.php(\/.*)*$ {fastcgi_pass   laravel:9000;include        fastcgi.conf;# fastcgi_connect_timeout 300;# fastcgi_send_timeout 300;# fastcgi_read_timeout 300;}
}

前端构建

第一阶段进行前端构建。

FROM node:alpine as frontendCOPY package.json /app/RUN set -x ; cd /app \&& npm install --registry=https://registry.npmmirror.comCOPY webpack.mix.js webpack.config.js tailwind.config.js /app/
COPY resources/ /app/resources/RUN set -x ; cd /app \&& touch artisan \&& mkdir -p public \&& npm run production

安装 Composer 依赖

第二阶段安装 Composer 依赖。

FROM composer as composerCOPY database/ /app/database/
COPY composer.json composer.lock /app/RUN set -x ; cd /app \&& composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ \&& composer install \--ignore-platform-reqs \--no-interaction \--no-plugins \--no-scripts \--prefer-dist

整合以上阶段所生成的文件

第三阶段对以上阶段生成的文件进行整合。

FROM php:7.4-fpm-alpine as laravelARG LARAVEL_PATH=/app/laravelCOPY --from=composer /app/vendor/ ${LARAVEL_PATH}/vendor/
COPY . ${LARAVEL_PATH}
COPY --from=frontend /app/public/js/ ${LARAVEL_PATH}/public/js/
COPY --from=frontend /app/public/css/ ${LARAVEL_PATH}/public/css/
COPY --from=frontend /app/public/mix-manifest.json ${LARAVEL_PATH}/public/mix-manifest.jsonRUN set -x ; cd ${LARAVEL_PATH} \&& mkdir -p storage \&& mkdir -p storage/framework/cache \&& mkdir -p storage/framework/sessions \&& mkdir -p storage/framework/testing \&& mkdir -p storage/framework/views \&& mkdir -p storage/logs \&& chmod -R 777 storage \&& php artisan package:discover

最后一个阶段构建 NGINX 镜像

FROM nginx:alpine as nginxARG LARAVEL_PATH=/app/laravelCOPY laravel.conf /etc/nginx/conf.d/
COPY --from=laravel ${LARAVEL_PATH}/public ${LARAVEL_PATH}/public

构建 Laravel 及 Nginx 镜像

使用 docker build 命令构建镜像。

$ docker build -t my/laravel --target=laravel .$ docker build -t my/nginx --target=nginx .

启动容器并测试

新建 Docker 网络

$ docker network create laravel

启动 laravel 容器, --name=laravel 参数设定的名字必须与 nginx 配置文件中的 fastcgi_pass laravel:9000; 一致

$ docker run -dit --rm --name=laravel --network=laravel my/laravel

启动 nginx 容器

$ docker run -dit --rm --network=laravel -p 8080:80 my/nginx

浏览器访问 127.0.0.1:8080 可以看到 Laravel 项目首页。

也许 Laravel 项目依赖其他外部服务,例如 redis、MySQL,请自行启动这些服务之后再进行测试,本小节不再赘述。

生产环境优化

本小节内容为了方便测试,将配置文件直接放到了镜像中,实际在使用时 建议 将配置文件作为 configsecret 挂载到容器中,请读者自行学习 Swarm modeKubernetes 的相关内容。

由于篇幅所限本小节只是简单列出,更多内容可以参考 https://github.com/khs1994-docker/laravel-demo 项目。

附录

完整的 Dockerfile 文件如下。

FROM node:alpine as frontendCOPY package.json /app/RUN set -x ; cd /app \&& npm install --registry=https://registry.npmmirror.comCOPY webpack.mix.js webpack.config.js tailwind.config.js /app/
COPY resources/ /app/resources/RUN set -x ; cd /app \&& touch artisan \&& mkdir -p public \&& npm run productionFROM composer as composerCOPY database/ /app/database/
COPY composer.json /app/RUN set -x ; cd /app \&& composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ \&& composer install \--ignore-platform-reqs \--no-interaction \--no-plugins \--no-scripts \--prefer-distFROM php:7.4-fpm-alpine as laravelARG LARAVEL_PATH=/app/laravelCOPY --from=composer /app/vendor/ ${LARAVEL_PATH}/vendor/
COPY . ${LARAVEL_PATH}
COPY --from=frontend /app/public/js/ ${LARAVEL_PATH}/public/js/
COPY --from=frontend /app/public/css/ ${LARAVEL_PATH}/public/css/
COPY --from=frontend /app/public/mix-manifest.json ${LARAVEL_PATH}/public/mix-manifest.jsonRUN set -x ; cd ${LARAVEL_PATH} \&& mkdir -p storage \&& mkdir -p storage/framework/cache \&& mkdir -p storage/framework/sessions \&& mkdir -p storage/framework/testing \&& mkdir -p storage/framework/views \&& mkdir -p storage/logs \&& chmod -R 777 storage \&& php artisan package:discoverFROM nginx:alpine as nginxARG LARAVEL_PATH=/app/laravelCOPY laravel.conf /etc/nginx/conf.d/
COPY --from=laravel ${LARAVEL_PATH}/public ${LARAVEL_PATH}/public

作者主页: 正函数的个人主页
文章收录专栏: Docker
在这里插入图片描述

在这里插入图片描述

欢迎大家点赞 👍 收藏 ⭐ 加关注哦!
如果你认为这篇文章对你有帮助,请给正函数点个赞吧,如果发现什么问题,欢迎评论区留言!!

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

相关文章:

  • 地产设计网站搜索引擎优化seo怎么做
  • 镜像网站是如何做的达州seo
  • 网站怎么做三个页面职业培训学校
  • 毕节城乡建设局网站查询网站建设规划书
  • 网站建设分为几类网上推广赚钱方法
  • 新建html网站深圳网络推广建站
  • 网站安全建设申请百度公司招聘岗位
  • 陕西建设监理协会网站免费外链生成器
  • 常用的网站推广方法有哪些培训行业seo整站优化
  • 万网域名控制台上海网站推广优化
  • 做么户网站怎么去前置审批app下载
  • 微信推送在哪个网站做产品推广的渠道
  • 个人网站做影视二级网站怎么做
  • 做公司网站需要什么材料网店代运营公司哪家好
  • 深圳民治网站建设刚刚北京传来重大消息
  • 电子商务网站建设规划实践成果百度网站排名查询
  • 微信网站建设费用计入什么科目北京seo外包平台
  • 北京梦创义网站建设蜜雪冰城推广软文
  • 一级域名网站企业软文营销
  • 池州网站建设公司seo发展前景怎么样啊
  • 网站建设页面设计之后关键字搜索
  • 我想做个软件平台要多少钱seo网络营销招聘
  • 上海的网站建设潍坊网站开发公司
  • 为什么做营销型网站百度百科优化
  • 织梦后台怎么做网站地图seo是免费的吗
  • 淘宝联盟建网站进入百度首页
  • 最专业网站建网店运营是做什么的
  • 小学门户网站建设情况汇报自助建站平台
  • 瑞安哪里有做百度的网站上海seo优化公司kinglink
  • 广州电子商城网站建设优化大师手机版