docker-compose部署nginx+php

1、首先拉取nginx及php镜像
docker pull nginx:1.21.6
docker pull php:7.4.28-fpm
2、创建本地目录
mkdir /home/nginx-php
3、运行容器拷贝文件
运行nginx拷贝
docker run -d --name nginx nginx:1.21.6
cd /home/nginx-php
docker cp nginx:/etc/nginx .
docker cp nginx:/var/log .
docker rm -f nginx
运行php拷贝
docker run -d --name php php:7.4.28-fpm
cd /home/nginx-php
docker cp phptest:/usr/local/etc/php .
docker rm -f php
4、修改php配置
cd /home/nginx-php/php #进入php目录
mv php.ini-development php.ini #重命名php.ini-development为php.ini
sed -i “s/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/g” php.ini
5、修改nginx配置文件
cd /home/nginx-php/nginx/conf.
cp default.conf www.nwd.com.conf (这边随便定义一个网站名称,到时候在windown服务器添加一下hosts)
vi www.nwd.com.conf

server {
    listen       80;
    server_name www.nwd.com;   #修改为自定义的域名

    #access_log  /var/log/nginx/host.access.log  main;
    location / {
        root /home/www;    网站根目录
        index  index.html index.htm index.php;  添加index.php
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    ###添加如下的代码
    location ~ \.php$ {
        root    /home/www;    ##网站根目录
        fastcgi_buffer_size       128k;
        fastcgi_buffers           4 256k;
        fastcgi_busy_buffers_size 256k;
        fastcgi_pass   php:9000;    ##写你docker-compose定义的名字加端口,不要写127.0.0.1
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #    deny  all;
    #}
}

6、创建网站目录
mkdir -p /home/nginx-php/www
echo ‘’ > index.html
echo ‘<?php phpinfo();?>’ > index.php
7、创建docker-compose文件
vi /home/nginx-php/docker-compose.yaml

version: "3"
services: 
  nginx:
    image: nginx:1.21.6
    container_name: "web-nginx"
    restart: always
    ports:
      - "80:80"
      - "443:443"
    depends_on:
      - "php"
    volumes:
      - "/home/nginx-php/nginx:/etc/nginx"
      - "/home/nginx-php/log:/var/log"
      - "/home/nginx-php/www:/home/www"
    networks:
      - web-network
  php:
    image: php:7.4.28-fpm
    container_name: "web-php"
    restart: always
    ports:
      - "9000:9000"
    volumes:
      - "/home/nginx-php/www:/home/www"
      - "/home/nginx-php/php:/usr/local/etc/php"
    networks:
      - web-network
networks:
  web-network:

8、启动docker-compose
docker-compose up -d
9、使用自定义域名需要修改windown的hosts
C:\Windows\System32\drivers\etc\hosts
在这里插入图片描述
10、访问www.nwd.com/index.php
在这里插入图片描述
访问不到页面使用命令查看日志报错:docker logs 容器id

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Php web application manager 〖目的〗 鉴于tomcat提供了应用后台管理功能,而php中没有,所以开发这个小应用方便php应用的远程快速部署(php源码必须打包为zip包)。 〖服务器环境〗 服务器环境要求: a. php5.2以上 b. zip模块必须启用(linux环境下若用php源码编译需要加入zlib路径) c. 若服务器为linux环境, 应用根目录必须有读写权限, 如部署在apache的htdocs下面, 则htdocs必须有读定权限 〖管理权限〗 对于php应用的部署和去部署,要求输入密钥,以验证用户管理权限。此验证操作很简单,开发人员可根据管理要求修改和扩展。默认密钥为: abc123,如要修改,请修改deployer.php的5847行$authkey的值。 〖使用说明〗 1. 部署: 系统支持上传php zip压缩包和指定服务器上php zip压缩包部署两种方式部署,类似于tomcat,:) 注意: 若部署的压缩包没有输入context name,则压缩包去掉后缀(一般为.zip)的名称即为context name; 对于选择服务器上的zip包部署,若仅输入zip名称,而非全路径, 则其必须与deployer.php位于同一目录下。 2. 去部署: 对于需要删除的php应用,可以点undeploy链接即可完成。 3. 查看服务器环境: 若需要查看服务器环境变量,点[Server Status]链接即可完成。 〖版权说明〗 这一简易应用为方便开发而开发,所以,大家可自由使用。欢迎使用和修改,有问题请联系: [email protected].

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值