nginxサーバーに関しては、個人的には軽量で高性能なのが最大の特徴だと思います。いくつかの異なるサーバーでテストした後、その同時実行性が特に強力であることがわかり、比較的言えば、消費するメモリがはるかに少なくなります。これは現在、ほとんどのWebマスターに推奨されるHTTPおよびリバースプロキシサーバーです。エンタープライズサーバーの運用および保守サービスを含む、ウェブマスター自身のウェブサイトはNginxを使用しており、Apacheももちろん使用できます。
1. Nginx SSLモジュールのインストール
nginxがhttp_ssl_moduleモジュールをインストールするかどうかを確認します。
$ /usr/local/nginx/sbin/nginx -V
引数を構成する場合:–with-http_ssl_moduleが表示された場合、それはすでにインストールされています(次の手順をスキップしてnginx.conf構成を入力できます)。
Nginxインストールパッケージをダウンロードします。もちろん、Nginx公式Webサイトにアクセスしてダウンロードします。
インストールパッケージをsrcディレクトリにダウンロードします。
$ cd /usr/local/src
$ wget http://nginx.org/download/nginx-1.15.9.tar.gz
インストールパッケージを解凍します。
$ tar -zxvf nginx-1.15.9.tar.gz
SSLモジュールを構成します。
$ cd nginx-1.15.9
$ ./configure --prefix=/usr/local/nginx --with-http_ssl_module
makeコマンドを使用してコンパイルし(make installを使用するとnginxが再インストールされます)、objsフォルダーが現在のディレクトリに表示されます。
現在のnginxファイルを新しいnginxファイルで上書きします。
$ cp ./objs/nginx /usr/local/nginx/sbin/
インストールされたモジュールを再度確認します(引数を構成します。–with-http_ssl_moduleは、sslモジュールがインストールされていることを示します)。
$ /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.15.9
...
configure arguments: --with-http_ssl_module
2. SSL証明書の導入
Alibaba Cloudの無料証明書を使用しています。有効期間は1年です。アプリケーションのアドレスはこちらです。
適用されたssl証明書ファイル圧縮パッケージをローカルにダウンロードして解凍します(ここで使用されるpemおよびキーファイル。ファイル名は変更できます)。
nginxディレクトリに新しい証明書フォルダを作成して、証明書ファイルを保存します。
$ cd /usr/local/nginx
$ mkdir cert
これらの2つのファイルをサーバーのcertディレクトリにアップロードします。
scpコマンドを使用して、ここでmac端末からサーバーにアップロードします(ここで新しい端末を開く必要があります。ウィンドウを使用してサーバーに接続しないでください)。
$ scp /Users/yourname/Downloads/ssl.pem [email protected]:/usr/local/nginx/cert/
$ scp /Users/yourname/Downloads/ssl.key [email protected]:/usr/local/nginx/cert/
scp [ローカルファイルパス。ファイルを直接ターミナルにドラッグできます] [<サーバーログイン名> @ <サーバーIPアドレス>:<サーバー上のパス>]
3、Nginx.conf構成
/usr/local/nginx/conf/nginx.conf設定ファイルを編集します:
httpsサーバーを構成します。以前のhttpサーバー構成をコメント化し、httpsサーバーを追加します。
server {
# 服务器端口使用443,开启ssl, 这里ssl就是上面安装的ssl模块
listen 443 ssl;
# 域名,多个以空格分开
server_name hack520.com www.hack520.com;
# ssl证书地址
ssl_certificate /usr/local/nginx/cert/ssl.pem; # pem文件的路径
ssl_certificate_key /usr/local/nginx/cert/ssl.key; # key文件的路径
# ssl验证相关配置
ssl_session_timeout 5m; #缓存有效期
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #加密算法
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #安全链接可选的加密协议
ssl_prefer_server_ciphers on; #使用服务器端的首选算法
location / {
root html;
index index.html index.htm;
}
}
httpをhttpsにリダイレクトします。
server {
listen 80;
server_name hack520.com www.hack520.com;
return 301 https://$server_name$request_uri;
}
4番目に、nginxを再起動します
$ /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ポート80が使用されている場合は、kill [id]を使用してプロセスを終了します。
# 查看端口使用
$ netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 21307/nginx: master
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 3072/sshd
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 21307/nginx: master
# 结束 80 端口进程
$ kill 21307
nginxをもう一度再起動します。
$ /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
または:
service nginx restart