Ubuntu20.04 Nginxインストール、ロードバランシング、無停止の導入
https://velog.io/@mooh2jj/docker-jenkins-github-%EB%B0%B0%ED%8F%AC
このブログに基づいて、以下の操作を行いました.
Nginxは、サーバを非表示にしてリバースエージェントとロード・バランシングを行うWebサーバです.個々のnginxインスタンスを作成し,jenkinsに配置された2つのsshインスタンスを用いて実験を行う.
Nginxのインストールと実行
ローカルにインストールする場合は、http://localhost:8080行きますを確認します.
Nginxの停止
次に、負荷バランスを検証するために、ジェンキンスインスタンスに戻るSSHインスタンスを3つ用意します.
https://velog.io/@mooh 2 jj/docker-jenkins-github-導入
このブログを参照してください.
各SSHインスタンスにはdockerコマンドがあります.
複数のSSHサーバを追加するには、Jenkinsホームページ>Jenkins管理>プリファレンスパラメータ>
そして
Nginxロードバランシングconfファイルの作成
nginxインスタンスで、リバースエージェントとロードバランスを設定するためのconfファイルを開きます.
次に、アプリケーションが実際のnginx ipアドレスで実行されていることを確認します.
url :
Nginx障害ログの確認
導入中にインスタンスが低下するため、ユーザーは
2つのSSHインスタンスと3つの
これにより、リクエストがそうであっても、サイトがデプロイ中に502エラーを発生することを防止できます.
リファレンス
https://help.clouding.io/hc/en-us/articles/360019908839-How-to-set-up-Nginx-load-balancing-server-on-Ubuntu-20-04
ソース:https://github.com/mooh2jj/docker-jenkins-github-test.git
このブログに基づいて、以下の操作を行いました.
Nginxは、サーバを非表示にしてリバースエージェントとロード・バランシングを行うWebサーバです.個々のnginxインスタンスを作成し,jenkinsに配置された2つのsshインスタンスを用いて実験を行う.
Nginxのインストールと実行
sudo apt-get install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx
Dockerとしてインストールおよび実行sudo docker pull nginx
sudo docker container run --name webserver -d -p 80:80 nginx
[설치 ip주소]:80
or [설치 ip주소]
と入力した場合は、必ず画面に表示されます.ローカルにインストールする場合は、http://localhost:8080行きますを確認します.
Nginxの停止
# ngnix 중지
sudo docker stop [nginx containerID] or webserver
# ngnix 시작
sudo docker start [nginx containerID] or webserver
Jenkins SSHサーバの追加次に、負荷バランスを検証するために、ジェンキンスインスタンスに戻るSSHインスタンスを3つ用意します.
https://velog.io/@mooh 2 jj/docker-jenkins-github-導入
このブログを参照してください.
各SSHインスタンスにはdockerコマンドがあります.
sudo chmod 666 /var/run/docker.sock
このコマンドを使用してPermissionの問題を解決する必要があります.複数のSSHサーバを追加するには、Jenkinsホームページ>Jenkins管理>プリファレンスパラメータ>
Publish over SSH
ボタンを押し、Jenkins公開鍵を登録するSSHインスタンス名とipアドレスを入力して追加します.そして
Add
>Item 프로젝트
です.구성
とSSH서버
を追加する必要があります.Nginxロードバランシングconfファイルの作成
nginxインスタンスで、リバースエージェントとロードバランスを設定するためのconfファイルを開きます.
sudo rm -rf /etc/nginx/sites-enabled/default
sudo vi /etc/nginx/conf.d/load-balancing.conf
このようにして次の内容に変更します.upstream cpu-bound-app {
server {instance_1번의_ip}:{지정한 포트번호};
server {instance_2번의_ip}:{지정한 포트번호};
server {instance_3번의_ip}:{지정한 포트번호};
}
server {
listen 80;
location / {
proxy_pass http://cpu-bound-app;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
}
}
次に、アプリケーションが実際のnginx ipアドレスで実行されていることを確認します.
url :
execute shell
Nginx障害ログの確認
sudo tail -f /var/log/nginx/error.log
無停止配置:sleep導入中にインスタンスが低下するため、ユーザーは
{nginx ip주소}/test
などのサイトの中断を体験する可能性があります.したがって、無停止のサイト導入が必要です.502에러
にはいくつかの方法がありますが、インスタンス間では遅延があります.2つのSSHインスタンスと3つの
sleep
の間に30秒の遅延を提供するために、Exec commaned
を追加する.# 인스턴스 2번, 3번에 추가
sleep 30
sudo docker stop $(sudo docker ps -a -q)
sudo docker rmi -f mooh2jj/docker-jenkins-github-test
sudo nohup docker run -p 47788:47788 mooh2jj/docker-jenkins-github-test > /dev/null 2>&1 &
これにより、リクエストがそうであっても、サイトがデプロイ中に502エラーを発生することを防止できます.
リファレンス
https://help.clouding.io/hc/en-us/articles/360019908839-How-to-set-up-Nginx-load-balancing-server-on-Ubuntu-20-04
ソース:https://github.com/mooh2jj/docker-jenkins-github-test.git
Reference
この問題について(Ubuntu20.04 Nginxインストール、ロードバランシング、無停止の導入), 我々は、より多くの情報をここで見つけました https://velog.io/@mooh2jj/Ubuntu20.04-Nginx-설치-및-로드밸런싱テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol