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

本站所有内容来自互联网收集,仅供学习和交流,请勿用于商业用途。如有侵权、不妥之处,请第一时间联系我们删除!Q群:迪思分享

免费资源网 – https://freexyz.cn/
目录Docker安装LNMP环境1、安装Docker2、 安装nginx3、 安装PHP4、 查看nginx运行路径5、 创建并运行php容器6、 进入php容器,创建index2.php测试文件7、 获取到phpfpm 这个容器的ip8、配置nginx 以便支持php文件访问9、 拉取Mysql镜像10、 服务器文件放入容器中

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容器

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
免费资源网 – https://freexyz.cn/


© 版权声明
THE END
★喜欢这篇文章吗?喜欢的话,麻烦动动手指支持一下!★
点赞8 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容