Docker搭建LNMP环境实战(07):安装nginx

这篇具有很好参考价值的文章主要介绍了Docker搭建LNMP环境实战(07):安装nginx。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、模拟应用场景描述

假设我要搭建一个站点,假设虚拟的域名为:api.test.site,利用docker实现nginx+php-fpm+mariadb部署。

2、目录结构

2.1、dockers根目录

由于目前的安装是基于Win10+VMWare+CentOS虚拟机,同时已经安装了VMWareTools,并配置了虚拟目录,虚拟目录是仅仅是为了简化文件的传输,虚拟目录在CentOS里的全路径为:/mnt/hgfs/dockers,此目录为CentOS里的dockers根目录,读者可以根据需要自己指定dockers根目录。

2.2、演示项目目录结构

Docker搭建LNMP环境实战(07):安装nginx,PHP,docker,nginx,容器

图1 dockers演示项目目录结构

3、安装nginx

3.1、windows环境下修改hosts文件,实现虚拟域名的解析

在文件夹C:\Windows\System32\drivers\etc下找到hosts文件,并编辑,加入一行:

192.168.16.128 api.test.site

保存即可。其中:192.168.16.128为我现在VMware虚拟机里的centos的ip地址,请读者改成自己环境下的正确配置

3.2、编写nginx部署配置文件test_site_nginx.yml

在文件夹:/mnt/hgfs/dockers/test_site/compose下创建文件:test_site_nginx.yml,内容如下:
Docker搭建LNMP环境实战(07):安装nginx,PHP,docker,nginx,容器

图2 nginx 部署配置文件内容
version: "3.5"
services:
    test_site_nginx:
        container_name: test_site_nginx
        image: nginx:1.13
        privileged: true
        restart: always
        networks:
            - test_site_network
        ports:
            - 80:80
            - 443:443
        volumes:
            - /mnt/hgfs/dockers/test_site/www:/var/test_site/www
            - /mnt/hgfs/dockers/nginx/conf.d:/etc/nginx/conf.d
        environment:
            - TZ=Asia/Shanghai
networks:
    test_site_network:
        name: test_site_network

3.3、站点默认页面及nginx支持HTTP协议访问的配置

1)编辑生产index.html文件,

进入目录: /mnt/hgfs/dockers/test_site/www;编辑生成index.html文件,内容为:

hello world!!!!!! From index.html

2)编辑生成nginx默认配置问default.conf

进入目录:/mnt/hgfs/dockers/nginx/conf.d;编辑生产default.conf。内容为:

server {
    listen      80;
    server_name  api.test.site;
    location / {
        root  /var/test_site/www;
        index  index.html index.htm;
    }
    error_page  500 502 503 504  /50x.html;
    location = /50x.html {
        root  /var/test_site/www;
    }
}

3)运行docker-compose命令进行部署

docker-compose -f test_site_nginx up -d

Docker搭建LNMP环境实战(07):安装nginx,PHP,docker,nginx,容器

图3 docker-compose部署nginx

4)验证安装效果

在浏览器里访问:http://api.test.site,返回结果如下:
Docker搭建LNMP环境实战(07):安装nginx,PHP,docker,nginx,容器

图4 验证通过http访问nginx 的80端口成功

验证通过http协议访问nginx的80端口成功!

3.4、ssl证书的生成及nginx支持https协议访问的配置

3.4.1、ssl证书的生成
cd /mnt/hgfs/dockers/nginx/ssl

1)设置server.key

这里需要设置两遍密码(自己随便选一个密码输入两次):

openssl genrsa -des3 -out server.key 1024

Docker搭建LNMP环境实战(07):安装nginx,PHP,docker,nginx,容器

图5 生成server.kry

会在当前目录下生成文件:server.key

2)参数设置

这里需要输入之前设置的密码:

openssl req -new -key server.key -out server.csr

由于是测试,可以随便输入一些信息就可以了,这样会生成文件:server.csr

3)写RSA秘钥

这里也要求输入之前设置的密码:

openssl rsa -in server.key -out server_nopwd.key

生成文件:server_nopwd.key,使用这个文件可以在应用时避免输入密码

4)获取私钥:

openssl x509 -req -days 365 -in server.csr -signkey server_nopwd.key -out server.crt

完成这一步之后就得到了我们需要的证书文件和私钥了:
Docker搭建LNMP环境实战(07):安装nginx,PHP,docker,nginx,容器

图6 ssl证书及私钥文件
3.4.2、配置nginx服务器,支持https访问

1)修改yml文件

修改test_site_nginx.yml文件,增加ssl目录的绑定
Docker搭建LNMP环境实战(07):安装nginx,PHP,docker,nginx,容器

图7 在yml文件里增加ssl目录绑定

2)修改配置文件default.conf,添加ssl支持
Docker搭建LNMP环境实战(07):安装nginx,PHP,docker,nginx,容器

图8 修改配置文件default.conf,添加ssl支持

红色框内为新增的配置项。修改后的文件内容如下:

server {
    listen      80;
    listen      443 ssl;
    server_name  api.test.site;
    #ssl on;
    ssl_certificate /etc/nginx/ssl/server.crt;
    ssl_certificate_key /etc/nginx/ssl/server_nopwd.key;
    # 指定密码为openssl支持的格式
    ssl_protocols  SSLv2 SSLv3 TLSv1.2;
    ssl_ciphers  HIGH:!aNULL:!MD5;  # 密码加密方式
    ssl_prefer_server_ciphers  on;  # 依赖SSLv3和TLSv1协议的服务器密码将优先于客户端密码
    location / {
        root  /var/test_site/www;
        index  index.html index.htm;
    }
    error_page  500 502 503 504  /50x.html;
    location = /50x.html {
        root  /var/test_site/www;
    }
}

3)卸载和重新安装nginx

cd /mnt/hgfs/dockers/test_site/compose
docker-compose -f test_site_nginx down
docker-compose -f test_site_nginx up -d

4)测试https访问

浏览器里输入:https://api.test.site,会出现问题,返回结果为:
Docker搭建LNMP环境实战(07):安装nginx,PHP,docker,nginx,容器

图9 https访问出现问题

点击“高级”按钮,出现下面界面
Docker搭建LNMP环境实战(07):安装nginx,PHP,docker,nginx,容器

图10 高级选项后的界面

点击红框中的链接 继续前往api.test.site,不知道什么原因,就是证书不对,但可以在“不安全”的模式下访问到首页:index.html,总算是可以访问了,也算基本成功吧!哪位有正确处理的方法,请赐教,谢谢。
Docker搭建LNMP环境实战(07):安装nginx,PHP,docker,nginx,容器

图11 不安全的模式访问成功

上一篇:Docker搭建LNMP环境实战(06):Docker及Docker-compose常用命令

下一篇:Docker搭建LNMP环境实战(08):安装php-fpm文章来源地址https://www.toymoban.com/news/detail-854885.html


到了这里,关于Docker搭建LNMP环境实战(07):安装nginx的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用docker搭建LNMP开发环境

    系统:ubuntu 18.04 docker版本:18.03.1-ce docker的安装请自行参考官方文档。 这篇文章用于介绍如何使用docker在ubuntu系统上搭建一个LNMP开发环境,下面我们将会编写Dockerfile,基于官方docker hub镜像,分别构建我们自己的镜像,然后运行。要构建的镜像有: PHP-FPM 7.4 Nginx 1.19 MySQL 5.

    2023年04月13日
    浏览(29)
  • docker搭建lnmp(nginx+mysql57+php7.4)

    2.1安装docker-compose 2.2创建项目目录 2.3在项目目录下面创建docker-compose.yml 2.4在该目录下面创建nginx目录,然后创建 default.conf 配置文件 2.5在该目录下面创建web目录,然后创建 index.php 文件 2.6启动docker-compose 2.7访问 2.8停止docker-compose 2.9删除docker-compose 3.0查看docker-compose日志 3.1查

    2024年02月13日
    浏览(30)
  • Docker-compose详解和LNMP搭建实战

    目录  一、Docker-compose简介 1.前言 2.概述 二、Docker-compose安装 安装源获取 安装包下载 三、YAML文件格式及编写注意事项 1.简介 2.使用方法 四、Docker Compose 常用命令 五、Docker Compose 配置常用字段 六、Docker-compose搭建LNMP实战         我们知道使用一个Dockerfile模板文件可以定

    2024年02月12日
    浏览(32)
  • M2芯片Mac电脑使用docker搭建lnmp环境

    本人是用的电脑是苹果的M2芯片的Mac Pro,系统版本是12.4。 之前本机安装过docker,不过只安装了nginx和php两个镜像,目前想新增mysql镜像 PS:目前m2芯片不支持mysql5.7的镜像,只支持mysql8 1.之前不知道m2不支持mysql5.7,找了一个mysql5.7的镜像,放到了docker-compose.yml文件中 结果通过 doc

    2024年02月13日
    浏览(50)
  • 在 CentOS 7.4 上使用 Docker极速部署 LNMP (Linux, Nginx, MySQL, PHP) 环境和 WordPress

    前置CentOS7条件: 关闭防护墙: setenforce = 0 systemctl stop firewalld 1. 安装 Docker* 如果你的系统中还没有安装 Docker,可以使用以下命令进行安装:   sudo yum install docker 启动 Docker 服务并设置开机自启: sudo systemctl start docker sudo systemctl enable docker 2. 安装 Docker Compose Docker Compose 可以让

    2024年01月17日
    浏览(39)
  • Nginx环境搭建以及Docker环境部署

    目录 Nginx环境搭建 1.首先创建Nginx的目录并进入 2.下载Nginx的安装包         可以通过FTP工具上传离线环境包,也可通过wget命令在线获取安装包         没有wget命令的可通过yum命令安装  3.解压Nginx的压缩包 4.下载并安装Nginx所需的依赖库和包         安装方式一    

    2024年02月13日
    浏览(30)
  • docker搭建nginx+php环境

    一、docker拉取nginx和php镜像 命令如下: 1、创建本地挂载路径: 2、创建php容器 3、创建nginx本地挂在路径: 4、nginx配置文件如下: 5、创建nginx容器: PS: 6、创建文件测试: 效果如下: 参考文章:nginx调用php原理

    2024年02月13日
    浏览(31)
  • lnmp 环境搭建wordpress

    执行以下命令,进入 MariaDB。 执行以下命令,创建 MariaDB 数据库。例如 “wordpress”。 CREATE DATABASE wordpress; 执行以下命令,创建一个新用户。例如 “user”,登录密码为 123456。 CREATE USER ‘user’@‘localhost’ IDENTIFIED BY ‘123456’; 执行以下命令,赋予用户对 “wordpress” 数据库的

    2024年02月09日
    浏览(32)
  • Docker的配置和部署,并搭建php和nginx环境

    服务器环境:CentOS 7.6 说下体验: 通过安装进度还是有些报错出现的,但是一向“兼容不错的宝塔”还是对他抱有一线希望。 最后还是安装成功了。  装好了,如何使用? Docker 是基于命令行使用的,那现在通过一些实际问题去使用一些命令! 1.首先查看是否安装成功。通过

    2024年02月09日
    浏览(38)
  • Docker安装,Nginx搭建

    目录 一、安装Docker 1、安装: 2、启动/停止/重启docker服务 1.创建容器时设置 2.修改已有容器,使用update 3、查看docker版本信息 4、查看所有docker镜像 二、安装Nginx 1、拉取Nginx镜像文件 2、查看下载好的镜像文件   3、创建并运行Nginx容器 4、查看正在运行的容器 5、查看Nginx是否

    2024年02月05日
    浏览(24)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包