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

基于PHP语言的会员系统搭建(Docker版)

1、操作系统

       准备: ubuntu22机器

        基础:docker:【精选】Docker微服务-基础_v2/_catalog-CSDN博客

2、安装Docker

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# Add the repository to Apt sources:
echo \
  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

3、构建镜像(nginx+php)

Ubuntu22.04 + nginx1.18 + php7.4

Dockerfile 如下

FROM ubuntu:22.04
MAINTAINER itdd
ENV MYPATH /tmp/php
WORKDIR $MYPATH
RUN apt-get -y update

#安装vim编辑器
RUN apt-get -y install vim
RUN apt-get -y install lrzsz
#安装ifconfig命令查看网络IP
RUN apt-get -y install net-tools

# nginx 依赖
RUN apt-get install -y gcc
RUN apt-get install -y libpcre3 libpcre3-dev
RUN apt-get install -y zlib1g zlib1g-dev
RUN apt-get install -y openssl 
RUN apt-get install -y libssl-dev

# 安装nginx
RUN apt-get install -y make
RUN mkdir -p /usr/local/nginx
ADD nginx-1.18.0.tar.gz /usr/local/nginx
RUN cd /usr/local/nginx/nginx-1.18.0/ && ./configure \
--prefix=/usr/local/nginx \
--sbin-path=/usr/local/nginx/sbin/nginx \
--conf-path=/etc/nginx/nginx.conf \
&& make \
&& make install
RUN ln -s /usr/local/nginx/sbin/nginx /usr/bin/

# 安装php
# 不选时区 可以通过配置环境变量,来跳过这个步骤
ARG DEBIAN_FRONTEND=noninteractive
RUN echo "6" | apt-get install -y pkg-config 
RUN apt-get -y install gcc make openssl curl libssl-dev \
libxml2-dev libzip-dev libcurl4-openssl-dev libpng-dev libjpeg-dev \
libwebp-dev libonig-dev libsqlite3-dev libsodium-dev libargon2-dev
RUN mkdir -p /tmp/php/
ADD php-7.4.30.tar.gz /tmp/php/
RUN cd /tmp/php/php-7.4.30/ && ./configure --prefix=/usr/local/php-7.4.30 \
--with-config-file-path=/etc \
--with-fpm-user=www \
--with-fpm-group=www \
--with-curl --enable-fpm \
&& make \
&& make install \
&& cp php.ini-development /usr/local/php-7.4.30/etc/php.ini 
ADD php-fpm.conf /usr/local/php-7.4.30/etc/php-fpm.conf 
ADD www.conf /usr/local/php-7.4.30/etc/php-fpm.d/www.conf
ADD nginx.conf /etc/nginx/nginx.conf

# 复制代码到环境
ADD index.php /usr/local/nginx/html/index.php
RUN groupadd www
RUN useradd -g www www

# 启动文件打入镜像
ADD startServer.sh /tmp/php/startServer.sh
RUN chmod +x /tmp/php/startServer.sh
EXPOSE 80 443
ENTRYPOINT ["./startServer.sh"]

里面设计到的文件都在文章开头的打包文件里,自取免费下载!!!

注意:php-fpm.conf最下面有一行路径,改成自己的路径

具体可参考    Docker微服务-Dockerfile之Nginx+PHP_php dockerfile_IT东东歌的博客-CSDN博客

4、创建容器

docker build -t ubuntu-nginx-php:1.0 .# 把配置文件和项目映射出来方便修改调试
docker run --name=php-pv -p 8002:80 -d \
-v /data1/docker/src/config_pv/nginx.conf:/etc/nginx/nginx.conf \
-v /data1/docker/src/config_pv/html:/usr/local/nginx/html \
ubuntu-nginx-php:1.0 

如果创建容器失败的话,可以看下日志<  docker logs 容器ID > 根据日志提示解决问题。

5、访问

成功应该是这样的。

----------------------------还在持续更新中----------------------------

http://www.lryc.cn/news/223662.html

相关文章:

  • 文件改名:一次性解决文件名混乱,批量重命名技巧
  • app自动化测试——capability 配置参数解析
  • 数仓面经大框架
  • C++ explicit关键字的作用
  • 排序算法之-冒泡
  • 【微服务】API治理发展历史与未来趋势
  • TikTok shop美国小店适合哪些人做?附常见运营问题解答
  • [OS]11.9.2023 中断
  • unity笔记
  • 二十、泛型(5)
  • Oracle递归查询树形数据
  • pycharm pro v2023.2.4(Python开发)
  • 武汉某母婴用品公司 - 集简云连接ERP和营销系统,实现库存管理的自动化
  • AD9371 Crossbar
  • 设计模式 -- 责任链模式(Chain of Responsibility Pattern)
  • 开源:特殊的垄断
  • linux安装oracle client解决cx_Oracle.DatabaseError: DPI-1047
  • 工业园区一般用多大规格的电表?
  • Debian12换镜像源
  • deeplog中输出某个 event 的概率
  • 流媒体中relay和forword的区别
  • git创建本地分支并提交到远程
  • Selenium定位元素的方法css和xpath的区别
  • 【目标检测】SSD损失函数详解
  • C【整数正序分解】
  • 基于springboot实现高校党务平台管理系统【项目源码】计算机毕业设计
  • Day24力扣打卡
  • 5G-A 商用加速,赋能工业互联网
  • 代码随想录day2
  • UML/SysML建模工具更新(2023.10)(1)StarUML、Software Ideas Modeler