docker中lnmp访问php页面,docker安装lnmp并上线php项目完整版

//安装docker

sudo apt-get update

//卸载docker相关依赖

sudo apt-get remove docker

docker-engine

docker.io

//安装docker

sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -

sudo echo “deb [arch=amd64] https://download.docker.com/linux/debian stretch stable” | sudo tee -a /etc/apt/sources.list

sudo apt update

sudo apt install docker-ce docker-ce-cli containerd.io

docker -v 或者 docker run hello-world//测试是否成功

//镜像加速

对于使用 systemd 的系统,请在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件)

{

“registry-mirrors”: [

“https://dockerhub.azk8s.cn”,

“https://reg-mirror.qiniu.com”

]

}

//重启dokcer

sudo systemctl daemon-reload

sudo systemctl restart docker

//安装镜像

docker pull nginx

docker pull php:7.0-fpm

docker pull mysql:5.6

docker pull redis

docker pull jenkins/jenkin

docker pull phpmyadmin

//启动mysql容器

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

//启动php容器

docker run -d -v /var/www/php:/var/www/html --link mysql:mysql -p 9000:9000 --name myphp7.0-fpm php:7.0-fpm

//启动nginx容器

docker run -p 80:80 -d --name mynginx --link myphp7.0-fpm:php -v /var/www/myprotect:/var/www/html nginx

//安装扩展

docker-php-ext-install mysqli //在php容器里 也可以不用安装

//配置nginx

#将default.conf 从nginx容器中导出到当前目录上

docker cp mynginx :/etc/nginx/conf.d/default.conf ./default.conf

修改default.conf文件 细节详细:

server {

listen 80; // 80 启动nginx时 是你开启nginx 容器的端口

server_name localhost;

#charset koi8-r;

#access_log /var/log/nginx/host.access.log main;

location / {

root /var/www/html; //启动nginx时 你宿主机目录对应的容器目录

index index.php 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;

}

# proxy the PHP scripts to Apache listening on 127.0.0.1:80

#

#location ~ \.php$ {

# proxy_pass http://127.0.0.1;

#}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

#

location ~ \.php$ {

root /var/www/html; // php容器的目录

fastcgi_pass 172.17.0.3:9000; //php容器的ip

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

include fastcgi_params;

}

# deny access to .htaccess files, if Apache's document root

# concurs with nginx's one

#

#location ~ /\.ht {

# deny all;

#}

}

//修改完成后 把default.conf复制到nginx 容器里 因容器没有vim命令

docker cp ./default.conf mynginx:/etc/nginx/conf.d/

//进入nginx容器

docker exec -it mynginx bash

cd /etc/nginx/conf.d/

cat default.conf

nginx -t

nginx -s reload

exit

进入宿主机对应项目根目录

echo index.php

//测试下是否可以访问

f4dfc76bf0ec555cd8876a1fcf563a4a.png

访问服务器ip即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值