加入收藏 | 设为首页 | 会员中心 | 我要投稿 十堰站长网 (https://www.0719zz.com/)- 混合云存储、网络、视频终端、云计算、媒体处理!
当前位置: 首页 > 运营中心 > LNMP > 正文

Docker安装LNMP环境的详细过程(可部署TP项目)

发布时间:2023-02-20 09:55:14 所属栏目:LNMP 来源:互联网
导读:Docker安装LNMP环境 1、安装Docker yum install docker # 启动并加入开机启动 sudo systemctl start docker sudo systemctl enable docker 2、 安装nginx # 拉取管方镜像 docker pull nginx # 创建并运行容器,映射端口为80 docker run --name nginx -p 80:8
  Docker安装LNMP环境
 
  1、安装Docker
 
  yum install docker
  # 启动并加入开机启动
  sudo systemctl start docker
  sudo systemctl enable docker
 
  2、 安装nginx
 
  # 拉取管方镜像
  docker pull nginx
  # 创建并运行容器,映射端口为80
  docker run --name nginx -p 80:80 -d nginx
  # 访问IP,nginx能够正常运行
 
  3、 安装PHP
 
  # 拉取管方镜像,这里拉取的是php7,根据自己所需拉取
  docker pull phpdockerio/php7-fpm
 
  4、 查看nginx运行路径
 
  # 进入nginx容器
  docker exec -it nginx bash
  # 查看nginx配置文件
  cat /etc/nginx/conf.d/default.conf -n
  # 找到location / {
  #     root    /usr/share/nginx/html;#这是nginx默认运行路径
  #     index   index.html index.html;
  # }
 
  5、 创建并运行php容器
  1
  docker run --name phpfpm -d 9000:9000 -v /var/www/html:/usr/share/nginx/html -d phpdockerio/php7-fpm
 
  6、 进入php容器,创建index2.php测试文件
 
  # 进入php容器
  docker exec -it phpfpm bash
  # 进入运行目录
  cd /usr/share/nginx/html
  # vim 创建index2.php
  # 因为docker没有安装vim,此时运行
  apt-get update
  apt-get install vim
  
  cat << EOF > /root/.vimrc
  :set encoding=utf-8
  :set fileencodings=ucs-bom,utf-8,cp936
  :set fileencoding=gb2312
  :set termencoding=utf-8
  EOF
  # 创建index2.php
  vim index2.php
  <?php
      echo 1;
  ?>
  # esc :wq 保存退出
 
  7、 获取到phpfpm 这个容器的ip
  
  docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' phpfpm
  # 172.17.0.3
 
  8、配置nginx 以便支持php文件访问

  docker exec -it nginx bash
  # 进入nginx配置目录
  cd /etc/nginx/conf.d
  # 安装vim
  apt-get update
  apt-get install vim
  # 编辑default.conf配置文件
  vim default.conf
  # 在default.conf中加入
  location / {
      root          /usr/share/nginx/html/tp5.1/public;#不是tp的话去掉/tp5.1/public
      index         index.html index.htm index.php;
       
      if (!-e $request_filename){
          rewrite ^(.*)$ /index.php?s=/$1 last;
          break;
      }
  }
  location ~ .php$ {
      root            /usr/share/nginx/html/tp5.1/public;#不是tp的话去掉/tp5.1/public
      fastcgi_pass    172.17.0.3:9000;
      fastcgi_index   index.php;
      fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
      fastcgi_param   PATH_INFO $fastcgi_path_info;
      fastcgi_param   PATH_TRANSLATED $document_root$fastcgi_path_info;
      fastcgi_split_path_info     ^((?U).+.php)(/?.+)$;
      include         fastcgi_params;
  }
  # 保存退出,重启nginx
  docker restart nginx
  # 访问ip/index2.php,成功
 
  9、 拉取Mysql镜像

  docker pull mysql
  # 创建并运行mysql容器
  docker run --name mysql -p 3306:3306 -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql
  #这是使用navicat连接会报错
  docker exec -it mysql /bin/bash
  mysql -uroot -p
  #授权
  GRANT ALL ON *.* TO 'root'@'%';
  #刷新权限
  flush privileges;
  #更新加密规则
  ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
  #更新root密码
  ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
  #刷新权限
  flush privileges;
 
  10、 服务器文件放入容器中
  
  docker ps  #查看容器id
  docker cp linux文件 容器id:容器路径

  #linux中查找php.ini
  php -i | grep 'php.ini'
  #docker 因配置文件出错无法进入容器内解决办法
  #将容器配置文件复制到服务器上
  1.docker cp mynginx:/etc/nginx/conf.d/default.conf /users/nginx/default.conf
  #修改后再写回容器中
  2.docker cp /users/nginx/default.conf mynginx:/etc/nginx/conf.d/default.conf

(编辑:十堰站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读