容器部署 - 容器说明
    系统坏境:
    centos:CentOS Linux release 7.8.2003 (Core)
    nginx:nginx version: nginx/1.16.1
    mysql:mysql Ver 8.0.22 for Linux on x86_64 (MySQL Community Server - GPL)
    php: PHP 7.3.24 (cli) (built: Oct 27 2020 11:01:59) ( NTS )

    系统服务路径:
    nginx:
    配置路径:安装后默认 /etc/nginx
    日志路径:安装后默认 /var/log/nginx/ (配置文件中可查看 )
    文件监听路径:安装后默认 /usr/share/nginx/html (配置文件中可查看 )
    mysql:
    配置文件:安装后默认 /etc/my.cnf
    数据路径:安装后默认 /var/lib/mysql (配置文件中可查看 )
    日志路径:安装后默认 /var/log/mysqld.log (配置文件中可查看 )
    php:
    配置文件:安装后默认 /etc/opt/remi/php73/

    运行命令:
    0. 下载镜像:
    docker pull caesartang/centos7-lnmp:centos7.8nginx1.16mysql8.0php7.3
    1. 运行:
    docker run -itd -p 80:80 -p 443:443 -p 3306:3306 —privileged=true —name=lnmp-centos7.8nginx1.16mysql8.0php7.3 caesartang/centos7-lnmp:centos7.8nginx1.16mysql8.0php7.3 /usr/sbin/init
    端口说明:
    80:http监听端口
    443:https监听端口
    3306:mysql监听端口
    注:运行前请打开服务器对应端口;采用上述命令运行后,产生的数据及日志文件都在容器内,若需容器和宿主机打通,可按需调整命令
    docker命令大全:https://docs.docker.com/engine/reference/commandline/run/
    2. 进入容器:
    docker exec -it 容器id /bin/bash
    3. 查看mysql临时密码:
    grep “A temporary password” /var/log/mysqld.log

    容器部署 - Centos7 - 搭建lnmp环境
    一. 安装docker:
    参考文档:
    https://www.runoob.com/docker/centos-docker-install.html
    1. 手动安装
    (1) 卸载旧版本:
    sudo yum remove docker \
    docker-client \
    docker-client-latest \
    docker-common \
    docker-latest \
    docker-latest-logrotate \
    docker-logrotate \
    docker-engine
    (2)安装所需的软件包:
    sudo yum install -y yum-utils \
    device-mapper-persistent-data \
    lvm2
    (3).设置稳定的仓库:
    sudo yum-config-manager \
    —add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
    (4) 安装 Docker Engine-Community ( 如果提示您接受 GPG 密钥,请选是 )
    sudo yum install docker-ce docker-ce-cli containerd.io
    (5)启动docker
    sudo systemctl start docker
    开机启动
    sudo systemctl enable docker
    (6)测试是否安装成功 ( 测试完成记得删除镜像及容器 )
    sudo docker run hello-world
    (7)Docker 镜像加速
    Docker官方提供的中国镜像库:https://registry.docker-cn.com
    七牛云加速器:https://reg-mirror.qiniu.com
    对于使用 systemd 的系统,请在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件):
    {“registry-mirrors”:[“https://reg-mirror.qiniu.com“]}
    2. 自动安装
    curl -fsSL https://[get.docker.com](http://get.docker.com/) | bash -s docker —mirror Aliyun
    3. 将当前账号加入到docker 用户组
    为了避免每次使用 Docker 命令时都需要切换到特权身份,可以将当前用户加入安装中自动创建的 docker 用户组:
    sudo usermod -aG docker USER NAME

    二. 搭建lnmp坏境之安装centos系统:
    1. 拉取centos镜像
    docker pull centos:centos7
    2. 查看本地已有的镜像
    docker images
    image.png
    3. 使用centos镜像创建并运行容器
    docker run -itd -p 80:80 -p 443:443 -p 3306:3306 —privileged=true —name=centos7-lnmp centos:centos7 /usr/sbin/init
    image.png
    参数说明:
    -i: 交互式操作
    -t: 终端
    -p: 端口
    -d: 加了 -d 参数默认不会进入容器,想要进入容器需要使用指令 docker exec
    —privileged: 是否允许container内的root拥有真正的root权限
    —name: docker运行的名称
    centos: centos 镜像
    端口说明:
    80: http端口
    443: https端口
    3306: 数据库端口

    也可以挂载本地文件到容器,命令如下:
    image.png
    参数说明:
    -v:关联宿主机与容器内文件夹 /宿主机文件目录(本地没有此目录):/容器内部目录
    4. 查看当前运行的容器
    docker ps -a
    image.png
    5. 进入容器
    docker exec -it 容器id /bin/bash

    三. 搭建lnmp坏境之centos系统安装nginx:
    1. 使用EPEL方式安装nginx
    yum install epel-release
    yum update
    yum install nginx
    2. 启动nginx服务
    systemctl start nginx
    3. 查看nginx服务是否启动
    ps -ef | grep nginx
    image.png
    4. 将nginx服务加入开机启动
    systemctl enable nginx
    image.png

    四. 搭建lnmp坏境之centos系统安装php7.3:
    1. 安装 EPEL 源
    yum install epel-release
    2. 安装 REMI 源
    yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
    3. 安装 php7.3
    yum install -y php73-php-fpm php73-php-cli php73-php-bcmath php73-php-gd php73-php-json php73-php-mbstring php73-php-mcrypt php73-php-mysqlnd php73-php-opcache php73-php-pdo php73-php-pecl-crypto php73-php-pecl-mcrypt php73-php-pecl-geoip php73-php-recode php73-php-snmp php73-php-soap php73-php-xml
    4. 启动php
    systemctl start php73-php-fpm
    5. 查看php服务是否启动
    ps -ef | grep php
    image.png
    6. 将nginx服务加入开机启动
    systemctl enable php73-php-fpm
    image.png

    五. 搭建lnmp坏境之nginx转发php请求:
    1. 进入nginx配置目录
    cd /etc/nginx/ && ll
    image.png
    2. 修改默认的nginx配置文件(nginx.conf),将如下代码加入到 server 块中
    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    location ~ .php(.)$ {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_split_path_info ^((?U).+.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;
    include fastcgi_params;
    }
    image.png
    3. 重启nginx服务
    systemctl restart nginx
    4. 测试nginx是否可转发php请求
    进入到 nginx 默认配置中的文件监听路径(路径可在nginx默认配置里查看),创建 phpinfo.php 文件, 文件内代码如下:
    <?php
    phpinfo();
    ?>
    *5. 通过 ip/phpinfo.php 访问,即可查看php信息

    通过访问,会产生nginx日志(路径可在nginx默认配置里查看)

    六. 搭建lnmp坏境之centos系统安装mysql8
    1. 查找并删除mysql的目录
    find / -name mysql
    image.png
    2. 配置Mysql 8.0安装源
    rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
    image.png
    3. 安装Mysql 8.0
    yum —enablerepo=mysql80-community install mysql-community-server
    4. 启动mysql服务
    systemctl start mysqld
    5. 查看mysql服务是否启动
    ps -ef | grep mysqld
    image.png
    6. 将mysql服务加入开机启动
    systemctl enable mysqld
    7. 登录mysql,修改root临时密码,并创建新账号
    (1)查看临时密码
    grep “A temporary password” /var/log/mysqld.log
    image.png
    (2) 登陆root账号
    mysql -u root -p
    image.png
    (3) 修改root账号密码(需设置符合策略的密码(大小写字母+数据+符号),否则会报错)
    错误示例:ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘123456’;
    image.png
    (4) 刷新权限
    FLUSH PRIVILEGES;
    (5) 创建新账号,并允许远程访问
    示例: create user ‘新账号’@’%’ identified with mysql_native_password by ‘密码’;
    (6) 添加权限
    GRANT ALL ON . TO ‘新账号’@’%’;
    (7) 刷新权限
    FLUSH PRIVILEGES;
    (8) 退出并测试新账号是否可登录
    quit;
    image.png
    mysql -u 新账号 -p
    image.png
    (9)测试外网是否可访问数据库(工具:navicat)
    image.png

    七. 搭建完成!