美文网首页
docker安装lnmp环境

docker安装lnmp环境

作者: 呦丶耍脾气 | 来源:发表于2022-02-15 15:04 被阅读0次

如何安装docker就不做多说了,请自行百度

注意本文档实在虚拟机中操作的,虚拟机ip为192.168.172.131

docker安装mysql并启动

请参考:docker安装mysql

$ docker run -d --name mysql8 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

-d 让容器在后台运行
-p 添加主机到容器的端口映射
-e 设置环境变量,这里设置mysql的root用户的初始密码
-name 容器的名称、只要求唯一性

docker安装php

  • 获取php镜像
$ docker pull php:8.0-rc-fpm-buster

8.0-rc-fpm-buster为php的标签,其他版本的请在docker库中查看

  • 启动镜像
$ docker run -d -p 9002:9000 --name php8 -v /home/yzj/docker/nginx/html:/var/www/html php:8.0-rc-fpm-buster

docker run :启动docker镜像
-d:后台启动
-p:设置端口映射,即将容器的9000端口映射到宿主机的9002端口。
注意:本地端口:容器端口 (第一个9002是本地宿主机的端口,第二个9000是容器的端口)
--name:给容器命名
-v 配置文件映射
~/home/yzj/docker/nginx/html(将php目录的/var/www/html 映射到 /home/yzj/docker/nginx/html)

docker安装nginx

  • 获取镜像
$ docker pull nginx

这里我获取的nginx最新版本

  • 创建需要挂载的目录和文件

在工作目录创建docker/nginx/htmldocker/nginx/conf/conf.d/default.conf,其中default.conf内容如下:

server {
    listen       80;
    server_name  localhost;
    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        root   /usr/share/nginx/html; #nginx的默认项目目录
        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;
    }
    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    location ~ \.php$ {
        root           /var/www/html;#php项目的默认目录,和php启动映射的数据卷对应上
        fastcgi_pass   192.168.172.131:9002;# 宿主机ip和php映射的宿主机的端口号一致
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name; #这块也修改一下
        include        fastcgi_params;
    }
}

  • 启动镜像
$ docker run -itd --name nginx80 -p 80:80 -v /home/yzj/docker/nginx/conf/conf.d:/etc/nginx/conf.d -v /home/yzj/docker/nginx/html:/usr/share/nginx/html nginx
  • 在映射工作目录创建index.html和index.php
root@ubuntu20:/home/yzj# vim docker/nginx/html/index.html
#加入代码后保存
<h1>nginx80</h1>
root@ubuntu20:/home/yzj# vim docker/nginx/html/index.php
#加入代码后保存
<?php
$host = "192.168.172.131";
$username = "root";
$password = "123456";
$database = 'mysql'; //改成自己的mysql数据库名
$con=mysqli_connect($host,$username,$password,$database); //连接数据库
if (!$con) {
    die("连接 MySQL 失败: " . mysqli_connect_error());
}
mysqli_query($con,"set names utf8"); //数据库编码格式
//查询代码
$sql = "select * from user";
$query = mysqli_query($con,$sql);
while($row = mysqli_fetch_array($query)){
    print_r($row['User']);
    echo "<br />";
}
?>

检验

  • 访问:http://192.168.172.131

浏览器输出:nginx80

  • 访问:http://192.168.172.131/index.php

此时可能会出问题,报:mysqli_connect方法不存在,是因为安装的php是纯净版本,很多扩展都没有,需要自己开启

$ docker exec -it php8 /bin/bash        
$ cd /usr/local/bin                        
$ ./docker-php-ext-install pdo_mysql  
$ ./docker-php-ext-install mysqli
# 退出容器
$ exit
$ docker php8 restart

再次访问 浏览器输出如下

root
mysql.infoschema
mysql.session
mysql.sys
root

相关文章

  • FAST OS DOCKER(Docker中文面板)操作指南:L

    使用FAST OS DOCKER安装Lnmp环境:首先在linux的环境下执行以下指令安装中文操作面板: 安装Ng...

  • docker 搭建lnmp环境

    docker-compose搭建lnmp运营环境 安装好nginx, php, mysql, redis,放在宿主...

  • docker 安装lnmp环境

    由于当前多数服务器都是Linux的原因,本文只讲ubuntu下的安装! 第一步:安装docker 安装教程:htt...

  • docker 安装lnmp环境

    这里管理docker的安装不再描述,只简述lnmp环境的安装 一、安装nginx 1、安装 nginx最新镜像 2...

  • Docker安装Lnmp环境

    1.安装nginx 注:所有的挂载操作只为在宿主机上就可以操作容器内部的文件,无需进入容器内部 防火墙配置dock...

  • docker安装lnmp环境

    如何安装docker就不做多说了,请自行百度 注意本文档实在虚拟机中操作的,虚拟机ip为192.168.172.1...

  • centos系统下安装宝塔

    宝塔官网 宝塔官网 安装完宝塔即可选择lnmp或lamp安装方式一键安装环境,运行环境的话还有docker,tom...

  • mac docker安装lnmp环境

    一、docker安装https://www.docker.com/docker-mac一路傻瓜安装即可二、doec...

  • 搭建 LNMP + CodeIgniter 开发环境

    搭建 LNMP + CodeIgniter 开发环境搭建 LNMP 环境首先搭建 LNMP 的服务器环境安装 Ng...

  • docker入门基操~~~

    # Docker基本使用方式 - [Window 使用 Docker 创建lnmp环境 ](#introduct...

网友评论

      本文标题:docker安装lnmp环境

      本文链接:https://www.haomeiwen.com/subject/yfoklrtx.html