使用docker搭建Nginx + PHP + mysql环境
2024-08-26
22
Nginx+PHP+Mysql是比较常用的网站环境,使用docker布置网站环境也是比较常用的方式,以下就给大家介绍如果使用docker来搭建Nginx+PHP+Mysql的运行环境。
前提准备:macOs环境、docker环境(安装docker可以百度,对mac版本有要求)
首先拉取三个镜像:
docker pull mysql:5.7
docker pull php:fpm
docker pull nginx:latest
查看一下拉取的所有镜像:
首先我们安装msyql,然后安装php,这样可以将mysql和php连接起来,最后装nginx,nginx把php连接起来就好啦。
安装mysql
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --name mysql_server mysql:5.7 # (这里是构建容器)
docker exec -it mysql_server /bin/bash # (进入容器,进入之后要对用户授权,允许用户远程访问)
mysql -u root -p 123456 # (进入mysql命令行模式)
GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY 123456; # (授权)
GRANT ALL PRIVILEGES ON *.* TO root@% IDENTIFIED BY 123456; #(授权)
GRANT ALL PRIVILEGES ON *.* TO root@127.0.0.1 IDENTIFIED BY 123456; #(授权)
FLUSH PRIVILEGES; #(使权限生效)
可以使用Navicat工具查看mysql 首先要找到mysql的IP,如下命令
docker inspect mysql_server
至此,mysql就安装完成啦
安装PHP
~/Document/self_work 是我自己文件目录,大家可根据自己情况修改
docker run --name php_server -p 9000:9000 -v ~/Documents/self_work/wwwroot/:/var/www/wwwroot --link mysql_server:mysql -v ~/Documents/self_work/env/phpfile/:/usr/local/etc/php -d php:fpm # (这里是构建容器)
docker exec -it php_server /bin/bash # (登录容器)
docker-php-ext-install pdo_mysql #(安装php扩展,可以使用这种方式安装 安装方式很多,不一一赘述)
安装nginx
配置文件目录:~/Documents/self_work/env/nginx/conf/conf.d/ 注意conf.d 是个文件夹
docker run --name nginx_server -p 8181:80 -v ~/Documents/self_work/wwwroot:/var/wwwroot --link php_server:phpfpm -d nginx:latest #(构建容器,将nginx和php连接起来)
映射容器中的phpfpm和mysql都为固定,不能修改!
测试
在宿主机 ~/Documents/self_work/wwwroot/目录下修改 index.php 文件。
?php echo phpinfo();
访问:http://localhost:8083/
测试mysql 链接
修改 index.php
?php
//echo phpinfo();
$dbms=mysql; //数据库类型
$host=your_mysql; //数据库主机名,此处写mysql 容器的名字
$dbport = 3306;
$dbName=mysql; //使用的数据库
$user=root; //数据库连接用户名
$pass=123456; //对应的密码
$dsn=$dbms:host=$host;port=$dbport;dbname=$dbName;
try {
$dbh = new PDO($dsn, $user, $pass); //初始化一个PDO对象
echo successfulbr/;
//你还可以进行一次搜索操作
// foreach ($dbh-query(SELECT * from user) as $row) {
// print_r($row); //你可以用 echo($GLOBAL); 来看到这些值
// }
$dbh = null;
} catch (PDOException $e) {
die (Error!: . $e-getMessage() . br/);
}
参考:https://cloud.tencent.com/developer/article/1444280
刷新页面 successful 我们安装成功啦啦啦啦啦
赞一波!3
相关文章
- PHP生成指定范围的随机小数
- PHP 命名空间元素访问及use的使用
- PHP 命名空间介绍
- PHP 数组合并的几种方式
- PHP 函数传值和传引用的区别
- PHP 可变函数
- PHP 手机号归属地查询接口【阿里云】
- PHP 面向对象类的继承
- PHP三元运算符
- PHP 常用功能函数
- PHP获取客户端真实IP地址
- PHP 实现回退页面并刷新
- 使用Docker Wine Qemu KVM在Linux运行Windows应用
- windows 下 PHP 的 redis 扩展安装
- PHP的数组排序函数
- .net core md5加密与php不一致
- docker部署.net core网站
- 简单了解Docker的概念和作用
- MySQL 添加数据 insert 命令及优化
- 修改 MySQL 用户密码
文章评论
全部评论