IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> docker-compose搭建php5.4 nginx mysql环境 -> 正文阅读

[PHP知识库]docker-compose搭建php5.4 nginx mysql环境

参考:

https://www.cnblogs.com/cocowool/p/docker-php-dev.html

需求

由于我需要搭建的是项目使用的是php5.4所以我这需要调整下

步骤:

1:准备资料


1.1 文件目录为:

--www

----conf

--------php.conf

----logs

----web

--------index.php

1.2 php.conf内容为:

server {
?? ?listen?? ?80;
?? ?server_name?? ?localhost;

?? ?location / {
?? ??? ?root?? ?/usr/share/nginx/html;
?? ??? ?index?? ?index.html index.htm index.php;
?? ?}

?? ?error_page?? ?500 502 503 504?? ?/50x.html;
?? ?location = /50x.html {
?? ??? ?root?? ?/usr/share/nginx/html;
?? ?}

?? ?location ~ \.php$ {
?? ??? ?fastcgi_pass?? ?php:9000;
?? ??? ?fastcgi_index?? ?index.php;
?? ??? ?fastcgi_param?? ?SCRIPT_FILENAME?? ?/web/$fastcgi_script_name;
?? ??? ?include?? ??? ?fastcgi_params;
?? ?}
}

1.3 index.php内容为:

<?php
? phpinfo();
?>

1.4?docker-compose.yml 文件内容为

version: "2.3"
services:
  nginx:
    image: nginx
    privileged: true
    ports: 
      - "80:80"
    volumes: 
      - /www/web:/usr/share/nginx/html
      - /www/conf:/etc/nginx/conf.d
      - /www/logs:/var/log/nginx
    networks:
      - web-net
  php:
    image: sugenk/php5.4-fpm
    privileged: true
    volumes:
      - /www/web:/web
    networks:
      - web-net
  mysql:
    image: mysql
    ports:
      - "3306:3306"
    environment:
      - MYSQL_ROOT_PASSWORD=root
    networks:
      - web-net
networks: 
  web-net:

2:执行


到目录下www下执行下列命令


docker-compose up -d

其中 -d表示在后台运行

3:验证


打开浏览器输入http://{服务器IP}/index.php?

,可以看到php是5.4的了

备注:

  1. docker镜像搜索地址,

https://hub.docker.com/,我搜索使用的是php5.4-fpm。


迭代二

测试php链接mysql

步骤一:由于docker-compose 里容器之间可以通过容器名称来连接,所以网站数据库配置文件使用mysql:3306。下面新建文件dbtest.php

<?php
$servername = "mysql:3306";
$username = "root";
$password = "root";
 
// 创建连接
//$conn = new mysqli($servername, $username, $password);

$mysql_server_name = 'mysql'; //改成自己的mysql数据库服务器

$mysql_username = 'root'; //改成自己的mysql数据库用户名

$mysql_password = 'root'; //改成自己的mysql数据库密码

$mysql_database = 'sys'; //改成自己的mysql数据库名

$conn=mysqli_connect($mysql_server_name,$mysql_username,$mysql_password,$mysql_database); //连接数据库

//连接数据库错误提示

if (mysqli_connect_errno($conn)) { 

    die("连接 MySQL 失败: " . mysqli_connect_error()); 

}else{
	mysqli_query($conn,"set names utf8"); //数据库编码格式
	header ( "Content-type:text/html;charset=utf-8" ); //统一输出编码为utf-8
	$con = mysqli_connect ( $servername, $username, $password ); //数据库连接

	if (mysqli_select_db ( $con, 'sys' )) {
		echo "数据库ok";

	} else {
		echo '数据库错误'; 
	}
}


?>

步骤二:

新建验证,浏览器输入:http://服务器IP/dbtest.php

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2022-04-13 22:06:44  更:2022-04-13 22:28:36 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/18 21:11:35-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码