[AWS]EC 2インスタンスへのNginxの適用

13043 ワード

今日は、前の記事に続いて、インスタンスにnginxを適用します.

目次

  • インスタンス接続
  • Nginx取付
  • Nginx設定
  • インスタンス接続


    次のコマンドでインスタンスを接続します:
  • .
  • ssh -i <pem파일 명> username@<공개 ip>
  • に接続すると、次のような画面が表示されます.

  • インストールNginx

  • 私は右奮闘で進行中なので、右奮闘命令語を使います.
  • sudo apt install nginx
    何か聞いたらyをあげます.
    インストールが完了すると、次のように/etcに「nginx」ディレクトリが表示されます.

    Nginx


    Nginxは静的コンテンツを提供するプロキシサーバである.Apacheの強い相手?今は占有率がリードしているそうです.
    次に、Nginxを管理するファイルを作成します.管理を容易にするために、次のファイルを作成し、リンクします.
  • /etc/nginx/site availableを作成します.
  • sudo mkdir /etc/nginx/site-available
  • /etc/nginx/site-enabledの作成
    sudo mkdir /etc/nginx/site-enabled
  • でデフォルトconfファイルが設定されます.
    confファイルは「/etc/nginx/nginx.conf」ファイルです.
  • catでファイルを表示しましょう.
    sudo vi /etc/nginx/nginx.conf
  • confファイルを表示します.
  • include /etc/nginx/conf.d/*.conf
    include /etc/nginx/sites-enabled/*.conf
    「sitest-enabled」パスを含むファイルに設定します.
  • default configの内容を見学します.
  • 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;
    	#}
    }
    
  • nginxを初めてインストールした場合は、実行できません.実行してみましょう.
  • 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」に存在するファイルを読み込みます.
  • つまり、「available」にプロファイルを書き込みます.
    使用可能なプロファイルを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ポートを開く

  • インスタンスにアクセスし、「セキュリティ・グループ」として「ネットワークおよびセキュリティ」に接続します.

  • 私が処理しているセキュリティグループを選択します.

  • セキュリティ・グループを表示し、必要に応じて「≪インバウンド・ルールの編集|Edit Inbound Rules|emdw≫」を選択して追加します.

  • 80ポートをオープンし、80ポートをオープンします.

  • 80個のポートを追加します.

  • 上には80個のポートが開き、0.0.0.0/0はIPv 4用、:/0はIPv 6用です.このほか、443、8080には他の意味が追加されています.

  • 保存!

  • 公開のIPで接続しましょう

  • 成功した昇りが見えます!!