当前位置: 代码网 > 服务器>服务器>云虚拟主机 > Docker安装LNMP环境的详细过程(可部署TP项目)

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

2024年05月24日 云虚拟主机 我要评论
docker安装lnmp环境1、安装dockeryum install docker# 启动并加入开机启动sudo systemctl start dockersudo systemctl enabl

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

到此这篇关于docker简单安装lnmp环境(可部署tp项目)的文章就介绍到这了,更多相关docker 安装lnmp环境内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com