Maison >Opération et maintenance >Docker >Laissez-vous comprendre comment installer Nginx et créer un serveur statique basé sur Docker

Laissez-vous comprendre comment installer Nginx et créer un serveur statique basé sur Docker

WBOY
WBOYavant
2022-02-15 17:50:022317parcourir

Cet article vous apporte des connaissances pertinentes sur la façon d'installer Nginx pour créer un serveur statique basé sur docker Il est très courant d'utiliser nginx comme serveur statique. Ce qui suit parle principalement de l'utilisation de Docker installe et gère notre <code>nginx, et configure le certificat ssl pour activer l'accès HTTPS. J'espère que cela sera utile. tout le monde. nginx作为静态服务器是很常见的情况,下面主要就是讲通过docker安装管理我们的nginx,并配置ssl证书来开启HTTPS访问,希望对大家有帮助。

Laissez-vous comprendre comment installer Nginx et créer un serveur statique basé sur 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服务器类型的证书。

Laissez-vous comprendre comment installer Nginx et créer un serveur statique basé sur 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

Laissez-vous comprendre comment installer Nginx et créer un serveur statique basé sur Docker

Tout le monde a besoin d'un serveur et les exigences de configuration du serveur statique ne sont pas très élevées . Recommander 1 cœur 2G et supérieur.

1. Installez Docker


Le serveur linux utilise curl pour télécharger le script shell d'installation rapiderrreee🎜Après le le téléchargement est terminé, vous pouvez le vérifier avec la commande ls. S'il existe déjà, utilisez la commande sh pour exécuter ce script🎜rrreee🎜Notez que si vous n'êtes pas un utilisateur root, vous devez utiliser sudo su pour obtenir les privilèges de super-administrateur. 🎜🎜Une fois l'installation terminée, démarrez <code>Docker Server🎜rrreee🎜Utilisez la commande docker version pour voir le Client et le Serveur code> Le démarrage a réussi. 🎜<h2>2. Utilisez Docker pour installer Nginx</h2> <h4>1 Exécutez d'abord nginx pour copier le fichier de configuration dans le conteneur sur la machine locale</h4>rrreee<h4>2. le conteneur sur la machine localerrreee<h3>3. Supprimez le conteneur précédent</h3>rrreee<h3>4. Exécutez le nouveau conteneur selon le fichier de configuration local</h3>rrreee🎜Si vous ne le faites pas. devez configurer le certificat <code>ssl, activez-lui l'accès https, vous pouvez utiliser ce nginx comme un serveur statique ordinaire. 🎜🎜Plusieurs dossiers dans /home/nginx : 🎜🎜conf : Fichier de configuration de nginx Pour une configuration spécifique, veuillez consulter le site officiel🎜. 🎜html : placez des ressources statiques, telles que html, css, js, etc. 🎜🎜logs : dossier de journaux, où les journaux d'accès peuvent être consulté 🎜🎜Après avoir modifié le fichier de configuration, n'oubliez pas de redémarrer nginx via docker restart nginx. 🎜

3. Configurez le certificat SSL pour activer l'accès HTTPS

1 Demandez un certificat SSL auprès du fournisseur de services cloud

🎜J'en ai fait la demande auprès de Tencent Cloudcode><code> SSL, après avoir soumis les informations de candidature, un type txt de résolution de nom de domaine sera configuré, puis attendra l'approbation. 🎜🎜Une fois la demande approuvée, téléchargez le certificat de type de serveur nginx. 🎜🎜Laissez-vous comprendre comment installer Nginx et créer un serveur statique basé sur Docker🎜

2. certificate Décompressez et téléchargez dans le dossier du certificat

🎜Créez le dossier du certificat cert dans conf/conf.d🎜rrreee🎜Téléchargez le certificat que vous venez de télécharger dans ce dossier 🎜

3. Modifiez la configuration de nginx pour activer l'accès HTTPS

🎜vi /home/nginx/conf/conf.d/default.conf🎜🎜Écrivez le contenu suivant🎜rrreee🎜Besoin pour changer de lieux :🎜🎜server_name : remplacez votre propre nom de domaine (deux places)🎜🎜ssl_certificate : fichier de certificat avec le suffixe .crt🎜 🎜ssl_certificate_key : Fichier de clé privée de certificat avec le suffixe .key🎜🎜Apprentissage recommandé : "🎜Tutoriel vidéo Docker🎜"🎜🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer