Docker に Nginx をデプロイする方法

王林
リリース: 2023-05-11 18:28:18
転載
3024 人が閲覧しました

1. docker から Nginx イメージをダウンロード

docker pull nginx
ログイン後にコピー

2. マウント ディレクトリ

を作成し、ここにファイルを配置します Nginx に相当するディレクトリを変更せずに docker にマッピングします。がコンテナに入りました

mkdir -p /data/nginx/{conf,conf.d,html,logs}
ログイン後にコピー

3。ファイルの正確性を保証するために、最初にコンテナに入り、対応するファイルをコピーすることをお勧めします。

それが不便な場合は、次のようにすることもできます。 2 つのウィンドウを開いて 1 つを入力します。コンテナーに移動し、左側を右側にコピーします。これは、ファイルが正しいことを確認するためです

#
#启动容器
docker run -itd nginx /bin/bash
#进入容器
docker attach xxxxxxxxxx
ログイン後にコピー
#手順ファイルマウント パス##設定ファイルnginx.conf/data/ nginx/conf/nginx.conf/etc/nginx/nginx.conf設定ファイルフォルダconf.dフォルダ/data/nginx/conf.d/etc/nginx/conf.dホームページ フォルダー html パスhtml フォルダー /data/nginx/ html/usr/share/nginx/htmlログ ファイルログ フォルダー /data/nginx/logs /var/log/nginx#これは、対応するマウント ディレクトリです。nginx.conf ファイルとデフォルトをコピーします。 conf in conf.d 対応するフォルダーに移動してそれを配置し、それを変更します
##nginx パス
4. 次に、default.conf ファイルを変更するだけです

ここでできることは変更することだけです

server {
 
    #端口号
    listen       80;
    #定义使用 localhost 访问
    server_name  localhost;
 
    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;
 
    location / {
        #根目录位置
        root   /usr/share/nginx/html;
        #index 文件位置
        index  1.html;
    }
 
    #error_page  404              /404.html;
 
    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
 
    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    #    proxy_pass   http://127.0.0.1;
    #}
 
    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    #location ~ \.php$ {
    #    root           html;
    #    fastcgi_pass   127.0.0.1:9000;
    #    fastcgi_index  index.php;
    #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
    #    include        fastcgi_params;
    #}
 
    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #    deny  all;
    #}
}
ログイン後にコピー

ここでテストに使用した 1.html は私自身が書いたものです

<html>
<head>
<title>Mynginx</title>
</head>
<body>
<h2>
欢迎使用nginx!
</h2>
</body>
</html>
ログイン後にコピー

5. 次に、コンテナ

docker run  --name myNginx -d -p 8089:80 -v /data/nginx/html:/usr/share/nginx/html -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /data/nginx/conf.d:/etc/nginx/conf.d  -v /data/nginx/logs:/var/log/nginx nginx
ログイン後にコピー
## を起動できます#マウント パスは正しい必要があります。間違ったものは書かないでください。

-p 8089:80 ここで、アクセスがポート 8089 になるように、ポート 80 をホストのポート 8089 にマップします。変更する必要はありません。 nginxのデフォルトポート

次はコンテナが正常に起動するかどうかを確認できます

docker ps
ログイン後にコピー

コンテナが表示されない場合は、起動に問題があることを意味します。設定ファイルの記述が間違っているか、マウントパスが間違っています。

起動後は直接起動できますブラウザlocalhost:8089 先ほど書いた1.indexのページが見られました

6。 nginxを停止せずに設定ファイルを更新する

設定ファイルを変更する場合、設定ファイルを更新する必要がありますこのとき、2つのウィンドウを開いてください非常にクールなウィンドウです

#进入容器
docker exec -it xxxxxxxxxxx /bin/bash
 
#测试配置文件是否有问题
nginx -t
 
#要是显示 successful 就可以更新了
nginx -s reload
ログイン後にコピー

以上がDocker に Nginx をデプロイする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!