在Deepin上使用LNMP

为了节省读者的时间,我先简述一下阅读这篇文章需要了解的知识。

这篇文章将基于Docker来构建nginx、php和mysql来搭建LNMP环境,和其他教程有所不同的是,需要有一定的Docker基础。

Docker是一个不错的工具,使我们不需要虚拟机那样的庞然大物就可以轻松的隔离运行的程序,这要感谢Linux的资源分离机制,避免启动一个虚拟机造成了大量资源浪费。

首先需要在Deepin上安装Docker,添加Docker的deb仓库,并安装docker-ce。

创建文件

sudo nano /etc/apt/sources.list.d/docker.list

写入

deb [arch=amd64] https://download.docker.com/linux/debian jessie edge

刷新一下仓库就可以安装了。

sudo apt update && sudo apt install docker-ce docker-compose

安装完成后重启一下系统,准备工作就算完成了一半了。

在家目录创建一个Projects目录,当做我们LNMP的工作目录,创建一个名叫docker-compose.yaml的文件,这是docker-compose的配置文件,我们通过docker-compose这个工具来管理我们的Docker容器。

所有的镜像均采用最新版本,nginx(1.15.8),php(7.3.2),mysql(8.0.15),如有需要,自行选择不同版本的镜像。

注意PHP7已经不支持mysql扩展,使用内置的MySQLnd。

写入以下配置文件:

version: '3'

services:
  nginx:
    # 设置容器名字
    container_name: "nginx"
    # 采用最新的nginx
    image: nginx:latest
    # 绑定80端口
    ports:
        - "80:80"
    # 添加php容器的依赖
    depends_on:
        - "php"
    # 绑定数据目录
    volumes:
        - "./volumes/nginx/conf.d:/etc/nginx/conf.d"
        - "./volumes/html:/usr/share/nginx/html"
    restart: always

  php:
    # 设置容器名字
    container_name: "php"
    # 采用最新的php
    image: php:fpm
    # 绑定端口
    ports:
        - "9000:9000"
    # 绑定数据目录
    volumes:
        - "./volumes/html:/var/www/html"
    restart: always

  mysql:
    # 设置容器名字
    container_name: "mysql"
    # 采用最新的mysql
    image: mysql:latest
    # 绑定端口
    ports:
        - "3306:3306"
    # 设置环境变量
    environment:
        - MYSQL_ROOT_PASSWORD=(自己设置密码)
    # 绑定数据目录
    volumes:
        - "./volumes/mysql:/var/lib/mysql"
    restart: always

创建nginx的配置文件,编辑 ./volumes/nginx/conf.d/nginx.conf

server {
    listen       80;
    server_name  localhost;
    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm index.php;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
    location ~ \.php$ {
        fastcgi_pass   php:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME /var/www/html/$fastcgi_script_name;
        include        fastcgi_params;
    }
}

创建php测试文件,编辑 ./volumes/html/index.php :

<?php
phpinfo();
?>

启动docker,第一次需要拉取一下镜像:

docker-compose up --build -d

等全部结束以后,就可以访问localhost看到php的信息了。

通过Docker的方法来使用LNMP,不污染宿主机环境,不会再因为各种依赖问题而搞坏系统,这恰恰是新手容易犯的错误,使用Docker,方便你我。

原文:justforlxz'blog

转载于:https://my.oschina.net/u/2929476/blog/3025486

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值