[AWS]EC 2インスタンスへのNginxの適用
13043 ワード
今日は、前の記事に続いて、インスタンスにnginxを適用します.
インスタンス接続 Nginx取付 Nginx設定 インスタンス接続
. に接続すると、次のような画面が表示されます.
私は右奮闘で進行中なので、右奮闘命令語を使います.
インストールが完了すると、次のように/etcに「nginx」ディレクトリが表示されます.
Nginx
/etc/nginx/site availableを作成します. /etc/nginx/site-enabledの作成 でデフォルトconfファイルが設定されます.
confファイルは「/etc/nginx/nginx.conf」ファイルです. catでファイルを表示しましょう. confファイルを表示します. default configの内容を見学します. nginxを初めてインストールした場合は、実行できません.実行してみましょう. 上の文書説明
sites-active:このファイルは、仮想サーバに関連するサーバ設定のディレクトリです.このディレクトリに存在する設定ファイルは使用しなくても存在します.
sites-aenabled:「sites-aavilable」に存在する設定ファイルで、使用する設定ファイルのみをリンクするディレクトリに使用します.
nginx.conf:nginx関連設定はブロック単位で設定されます.ここで、「sites-enabled」に存在するファイルを読み込みます.
つまり、「available」にプロファイルを書き込みます.
使用可能なプロファイルをenabledにリンクします.
「nginx.conf」ファイルに「enabled」の「default」ファイルがロードされます.
enabledの「default」ファイルを変更するだけで、リンクとして自動的に有効になります.
逆プロキシを設定します。
インスタンスにアクセスし、「セキュリティ・グループ」として「ネットワークおよびセキュリティ」に接続します.
私が処理しているセキュリティグループを選択します.
セキュリティ・グループを表示し、必要に応じて「≪インバウンド・ルールの編集|Edit Inbound Rules|emdw≫」を選択して追加します.
80ポートをオープンし、80ポートをオープンします.
80個のポートを追加します.
上には80個のポートが開き、0.0.0.0/0はIPv 4用、:/0はIPv 6用です.このほか、443、8080には他の意味が追加されています.
保存!
公開のIPで接続しましょう
成功した昇りが見えます!!
目次
インスタンス接続
次のコマンドでインスタンスを接続します:
ssh -i <pem파일 명> username@<공개 ip>
インストールNginx
sudo apt install nginx
何か聞いたらyをあげます.インストールが完了すると、次のように/etcに「nginx」ディレクトリが表示されます.
Nginx
Nginxは静的コンテンツを提供するプロキシサーバである.Apacheの強い相手?今は占有率がリードしているそうです.
次に、Nginxを管理するファイルを作成します.管理を容易にするために、次のファイルを作成し、リンクします.
sudo mkdir /etc/nginx/site-available
sudo mkdir /etc/nginx/site-enabled
confファイルは「/etc/nginx/nginx.conf」ファイルです.
sudo vi /etc/nginx/nginx.conf
include /etc/nginx/conf.d/*.conf
include /etc/nginx/sites-enabled/*.conf
「sitest-enabled」パスを含むファイルに設定します.sudo cat /etc/nginx/site-enabled/default.conf
近接設定は次のとおりです.# Default server configuration
#
server {
listen 80 default_server;
listen [::]:80 default_server;
# SSL configuration
#
# listen 443 ssl default_server;
# listen [::]:443 ssl default_server;
#
# Note: You should disable gzip for SSL traffic.
# See: https://bugs.debian.org/773332
#
# Read up on ssl_ciphers to ensure a secure configuration.
# See: https://bugs.debian.org/765782
#
# Self signed certs generated by the ssl-cert package
# Don't use them in a production server!
#
# include snippets/snakeoil.conf;
root /var/www/html;
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
# pass PHP scripts to FastCGI server
#
#location ~ \.php$ {
# include snippets/fastcgi-php.conf;
#
# # With php-fpm (or other unix sockets):
# fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
# # With php-cgi (or other tcp sockets):
# fastcgi_pass 127.0.0.1:9000;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
sudo service start nginx
statusを実行して表示します!sudo service status nginx
通常のやり方であれば、以下のようになります.● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset:>
Active: active (running) since Sun 2022-03-20 18:51:45 UTC; 43min ago
Docs: man:nginx(8)
Main PID: 1686 (nginx)
Tasks: 2 (limit: 1147)
Memory: 4.6M
CGroup: /system.slice/nginx.service
├─1686 nginx: master process /usr/sbin/nginx -g daemon on; master_>
└─1687 nginx: worker process
Mar 20 18:51:45 ip-172-31-39-107 systemd[1]: Starting A high performance web se>
Mar 20 18:51:45 ip-172-31-39-107 systemd[1]: Started A high performance web ser
アクティビティセクションには「active(running)」が表示されます.sites-active:このファイルは、仮想サーバに関連するサーバ設定のディレクトリです.このディレクトリに存在する設定ファイルは使用しなくても存在します.
sites-aenabled:「sites-aavilable」に存在する設定ファイルで、使用する設定ファイルのみをリンクするディレクトリに使用します.
nginx.conf:nginx関連設定はブロック単位で設定されます.ここで、「sites-enabled」に存在するファイルを読み込みます.
使用可能なプロファイルをenabledにリンクします.
「nginx.conf」ファイルに「enabled」の「default」ファイルがロードされます.
enabledの「default」ファイルを変更するだけで、リンクとして自動的に有効になります.
逆プロキシを設定します。
以前に見たdefaultファイルで逆プロキシを設定する必要があります.
「listen」を見ると、80ポートのリクエストが届いたことがわかります.
次に、サーバに80ポートリクエストを書きます.# Default server configuration
#
server {
listen 80 default_server;
listen [::]:80 default_server;
# SSL configuration
#
# listen 443 ssl default_server;
# listen [::]:443 ssl default_server;
#
# Note: You should disable gzip for SSL traffic.
# See: https://bugs.debian.org/773332
#
# Read up on ssl_ciphers to ensure a secure configuration.
# See: https://bugs.debian.org/765782
#
# Self signed certs generated by the ssl-cert package
# Don't use them in a production server!
#
# include snippets/snakeoil.conf;
root /var/www/html;
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://전달할 주소:abcde;
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
# pass PHP scripts to FastCGI server
#
#location ~ \.php$ {
# include snippets/fastcgi-php.conf;
#
# # With php-fpm (or other unix sockets):
# fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
# # With php-cgi (or other tcp sockets):
# fastcgi_pass 127.0.0.1:9000;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
「location/」を表示すると、80ポートに入力した値がabcdポートに戻るように再要求されます.
nginxを再起動します.sudo service nginx restart
ステータスの確認sudo service nginx status
完成!確認してみましょう.公開IPアクセスの使用
ちなみに、ポート80はインスタンスで開く必要があります.
先にOpenHAに行こう
インスタンスNginxポートを開く
# Default server configuration
#
server {
listen 80 default_server;
listen [::]:80 default_server;
# SSL configuration
#
# listen 443 ssl default_server;
# listen [::]:443 ssl default_server;
#
# Note: You should disable gzip for SSL traffic.
# See: https://bugs.debian.org/773332
#
# Read up on ssl_ciphers to ensure a secure configuration.
# See: https://bugs.debian.org/765782
#
# Self signed certs generated by the ssl-cert package
# Don't use them in a production server!
#
# include snippets/snakeoil.conf;
root /var/www/html;
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://전달할 주소:abcde;
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
# pass PHP scripts to FastCGI server
#
#location ~ \.php$ {
# include snippets/fastcgi-php.conf;
#
# # With php-fpm (or other unix sockets):
# fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
# # With php-cgi (or other tcp sockets):
# fastcgi_pass 127.0.0.1:9000;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
sudo service nginx restart
sudo service nginx status
私が処理しているセキュリティグループを選択します.
セキュリティ・グループを表示し、必要に応じて「≪インバウンド・ルールの編集|Edit Inbound Rules|emdw≫」を選択して追加します.
80ポートをオープンし、80ポートをオープンします.
80個のポートを追加します.
上には80個のポートが開き、0.0.0.0/0はIPv 4用、:/0はIPv 6用です.このほか、443、8080には他の意味が追加されています.
保存!
公開のIPで接続しましょう
成功した昇りが見えます!!
Reference
この問題について([AWS]EC 2インスタンスへのNginxの適用), 我々は、より多くの情報をここで見つけました https://velog.io/@jkijki12/배포-Aws-인스턴스에-Nginx-적용하기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol