>운영 및 유지보수 >Docker >Nginx를 설치하고 Docker를 기반으로 정적 서버를 구축하는 방법을 이해합니다.

Nginx를 설치하고 Docker를 기반으로 정적 서버를 구축하는 방법을 이해합니다.

WBOY
WBOY앞으로
2022-02-15 17:50:022315검색

이 글에서는 docker 기반의 정적 서버를 구축하기 위해 Nginx를 설치하는 방법에 대한 관련 지식을 제공합니다. nginx를 정적 서버로 사용하는 것은 매우 일반적입니다. 다음은 주로 Dockernginx를 설치 및 관리하고 HTTPS 액세스를 활성화하도록 ssl 인증서를 구성합니다. 모든 사람. nginx作为静态服务器是很常见的情况,下面主要就是讲通过docker安装管理我们的nginx,并配置ssl证书来开启HTTPS访问,希望对大家有帮助。

Nginx를 설치하고 Docker를 기반으로 정적 서버를 구축하는 방법을 이해합니다.

大家需要一台服务器,静态服务器配置需求不算很高,推荐1核2G及以上。

一、安装 Docker

linux服务器使用curl下载快速安装的shell脚本

curl -fsSL get.docker.com -o get-docker.sh

下载完成后,可以ls命令查看一下。已经存在的话,使用sh命令执行这个脚本

sh get-docker.sh

注意如果不是root用户,需要使用sudo su获取超级管理员权限。

安装完成后启动一下Docker Server

systemctl start docker

使用docker version命令能看到ClientServer就启动成功了。

二、使用 Docker 安装 Nginx

1. 先运行一次 nginx,为了拷贝容器内配置文件到本地

docker run -d -p 80:80 --name nginx \
 -v /home/nginx/html:/usr/share/nginx/html \
 -v /home/nginx/logs:/var/log/nginx \
 nginx:latest

2. 拷贝容器内配置文件到本地

docker container cp nginx:/etc/nginx /home/nginx/
cd /home/nginx
mv nginx conf

3. 删除之前的容器

docker stop nginx
docker rm nginx

4. 根据本地配置文件运行新容器

docker run -d -p 80:80 -p 443:443 --name nginx \
 -v /home/nginx/conf:/etc/nginx \
 -v /home/nginx/logs:/var/log/nginx \
 -v /home/nginx/html:/usr/share/nginx/html \
 nginx:latest

如果不需要配置ssl证书开启https访问,此时就可以把这个nginx当作普通静态服务器使用了。

其中/home/nginx中的几个文件夹:

conf: nginx的配置文件,具体配置可以看官网

html: 放静态资源,如html、css、js

logs: 日志文件夹,访问的日志可以在其中查看

改了配置文件,记得通过docker restart nginx重启下nginx

三、配置 SSL 证书开启 HTTPS 访问

1. 在云服务厂商申请 SSL 证书

我是在腾讯云申请的SSL证书,提交申请资料了,会让配置一个txt类型的域名解析,然后等待通过就行。

申请通过后,下载nginx服务器类型的证书。

Nginx를 설치하고 Docker를 기반으로 정적 서버를 구축하는 방법을 이해합니다.

2. 把证书解压后上传到证书文件夹

conf/conf.d创建cert证书文件夹

cd /home/nginx/conf/conf.d
mkdir cert

把刚才下载的证书上传到这个文件夹

3. 修改 nginx 配置开启 HTTPS 访问

vi /home/nginx/conf/conf.d/default.conf

写入以下内容

server {
    #SSL 访问端口号为 443
    listen 443 ssl;
    #填写绑定证书的域名
    server_name 0101.ml;
    #证书文件名称
    ssl_certificate /etc/nginx/conf.d/cert/0101.ml_bundle.pem;
    #私钥文件名称
    ssl_certificate_key /etc/nginx/conf.d/cert/0101.ml.key;
    ssl_session_timeout 5m;
    #请按照以下协议配置
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    ssl_prefer_server_ciphers on;
    location / {
    #网站主页路径。此路径仅供参考,具体请您按照实际目录操作。
        root /usr/share/nginx/html;
        index  index.html index.htm;
    }
}

server {
        listen 80;
        #填写绑定证书的域名
        server_name falser.top;
        #把http的域名请求转成https
        return 301 https://$host$request_uri;
}

需要改的地方:

server_name: 改为自己的域名(两处)

ssl_certificate: .crt后缀的证书文件

ssl_certificate_key: .key

Nginx를 설치하고 Docker를 기반으로 정적 서버를 구축하는 방법을 이해합니다.

누구나 서버가 필요하며 정적 서버 구성 요구 사항은 그리 높지 않습니다. . 1 코어 2G 이상을 권장합니다.

1. Docker 설치


linux 서버는 curl을 사용하여 빠른 설치 shell 스크립트를 다운로드합니다rrreee🎜다음 다운로드가 완료되면 ls 명령어로 확인할 수 있습니다. 이미 존재하는 경우 sh 명령을 사용하여 이 스크립트를 실행하세요🎜rrreee🎜루트 사용자가 아닌 경우 sudo su 슈퍼관리자 권한을 얻으세요. 🎜🎜설치가 완료된 후 <code>Docker Server를 시작하세요🎜rrreee🎜docker version 명령을 사용하여 ClientServer를 확인하세요. code> 시작이 성공했습니다. 🎜<h2>2. Docker를 사용하여 Nginx 설치</h2> <h4>1. 먼저 nginx를 실행하여 컨테이너의 구성 파일을 로컬 머신에 복사합니다.</h4>rrreee<h4>2. 컨테이너를 로컬 머신으로 보냅니다.</h4>rrreee<h3>3. 이전 컨테이너를 삭제합니다.</h3>rrreee<h3>4. 로컬 구성 파일에 따라 새 컨테이너를 실행합니다.</h3>rrreee🎜 <code>ssl 인증서를 구성하고 https 액세스를 활성화해야 이 nginx를 일반 정적 서버로 사용할 수 있습니다. 🎜🎜그 중에는 /home/nginx에 여러 폴더가 있습니다. 🎜🎜conf: nginx의 구성 파일은 다음을 참조하세요. 공식 웹사이트🎜 🎜html: html, css, js 등의 정적 리소스를 넣습니다. 🎜🎜logs: 액세스할 수 있는 로그 폴더 🎜🎜구성 파일을 변경한 후에는 docker restart nginx를 통해 nginx를 다시 시작해야 합니다. 🎜

3. HTTPS 액세스를 활성화하도록 SSL 인증서 구성

1. 클라우드 서비스 공급자에게 SSL 인증서를 신청합니다.

🎜Tencent Cloud에서 신청했습니다. code><code> SSL 인증서는 신청 정보를 제출한 후 txt 유형의 도메인 이름 확인을 구성한 후 승인을 기다립니다. 🎜🎜신청 승인 후 nginx 서버형 인증서를 다운로드 받으세요. 🎜🎜Nginx를 설치하고 Docker를 기반으로 정적 서버를 구축하는 방법을 이해합니다.🎜

2. 인증서 압축을 풀고 인증서 폴더에 업로드

🎜conf/conf.dcert 인증서 폴더를 생성하세요🎜rrreee🎜방금 다운로드한 인증서를 이 폴더에 업로드하세요 🎜

3. HTTPS 액세스를 활성화하도록 nginx 구성 수정

🎜vi /home/nginx/conf/conf.d/default.conf🎜🎜다음 내용을 작성하세요🎜rrreee🎜Need 장소 변경:🎜🎜server_name: 자신의 도메인 이름으로 변경(2곳)🎜🎜ssl_certificate: .crt 접미사가 있는 인증서 파일🎜 🎜ssl_certificate_key: .key라는 접미사가 붙은 인증서 개인 키 파일🎜🎜권장 학습: "🎜docker 비디오 튜토리얼🎜"🎜🎜

위 내용은 Nginx를 설치하고 Docker를 기반으로 정적 서버를 구축하는 방법을 이해합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제