Ubuntu18.04にNginxをインストールして構成します
1.Nginxをインストールします
- Nginxパッケージは、Ubuntuのデフォルトのソフトウェアリポジトリで利用できます。インストールは非常に簡単です。次のコマンドを入力するだけです。
# 更新软件包
sudo apt update
# 安装Nginx
sudo apt install -y nginx
- インストールが完了したら、Nginxサービスのバージョンを確認してください。
sudo nginx -v
- Nginxがインストールされています
Nginxは文字化けを防ぎます
server{
...
listen 8088 default_server;
listen [::]:8088 default_server;
charset utf-8; #设置字符集为 utf-8
}
Nginx構成https環境
- https簡単な紹介
ウィキペディアの説明によると:
HTTPS、英語:Hypertext Transfer Protocol Secure)超文本传输安全协议
、
ネットワークサーバーのIDの暗号化された通信と認証を提供するために使用されます
構成を開始します
1.OpenSSLをアップグレードします
# 更新源
sudo apt-get update
# 安装openssl依赖库
sudo apt-get install openssl
# 查看安装好的openssl版本号
openssl version
第二には、ドメイン名を購入した場所やに行き腾讯云
、阿里云
SSL証明書を申請するなど(アプリケーション自由はい、地元の専制君主はお気軽にどうぞ)
3. nginx証明書ファイル(通常は2つ)を保存するディレクトリを見つけます
# 在nginx配置目录里创建一个 ssl目录
mkdir /etc/nginx/ssl
mkdir /etc/nginx/ssl/private #存放两个ssl证书
mkdir /etc/nginx/ssl/certs # 存放openssl生成的dhparam.pem
第四に、Nginx構成ファイルを変更します
- もちろん、エラーを回避するために変更するためにWindows側にダウンロードすることもできます
# 使用apt命令安装的Nginx配置文件一般就在这里
vi /etc/nginx/sites-enabled/default
server {
listen 443 ssl;
listen [::]:443 ssl ipv6only=on;
# 这里输入你证书绑定的域名 www解析和 @ 解析 中间以空格隔开
# www.yuweb.cf
# yuweb.cf
server_name www.yuweb.cf yuweb.cf;
ssl on;
# 这里输入你证书的存放路径
ssl_certificate /etc/ssl/private/example_com.pem;
ssl_certificate_key /etc/ssl/private/example_com.key;
}
5、セキュリティを強化する(オプション)
- 上記は安全ではなく、デフォルトはSHA-1形式です。現在、主流のスキームではSHA-1を回避する必要があります。これにより、セキュリティを強化するために、Diffie-Hellman鍵交換を採用できます。
- まず、/ etc / nginx / ssl / certsディレクトリに入り、dhparam.pemを生成します
cd /etc/nginx/ssl/certs
- Dhparam.pem
openssl dhparam -out dhparam.pem 2048
-
オプションの暗号化ビットの数は、マシンのパフォーマンスに基づいています。数が多いほど、生成時間が安全になり、時間が長くなります。
-
1024
-
2048
-
4096
-
生成が完了したら、NginxのSSL構成の後にサーバーコードブロックを追加します
server {
listen 443 ssl;
listen [::]:443 ssl ipv6only=on;
# 这里输入你证书绑定的域名 www解析和 @ 解析 中间以空格隔开
# www.yuweb.cf
# yuweb.cf
server_name www.yuweb.cf yuweb.cf;
ssl on;
# 这里输入你证书的存放路径
ssl_certificate /etc/ssl/private/example_com.pem;
ssl_certificate_key /etc/ssl/private/example_com.key;
ssl_prefer_server_ciphers on;
# 你的dhparam.pem文件所在位置
ssl_dhparam /etc/ssl/certs/dhparam.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !RC4";
keepalive_timeout 70;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.4.4 8.8.8.8 valid=300s;
resolver_timeout 10s;
add_header Strict-Transport-Security max-age=63072000;
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
}
6、ポート443構成に転送されるポート80へのアクセスを追加します
- サーバーブロックを追加する
server {
listen 80;
listen [::]:80;
# 主机名 输入你的域名
server_name yufire.cf www.yufire.cf;
# 转发到你的 https端口 请输入你的域名
return 301 https://www.yufire.cf$request_uri;
}
構成が完了した後
- 構成ファイルが正しいかどうかを確認します
nginx -t
次のエラーが発生した場合
- おそらく
サーバー名が繰り返しバインドされていることを意味しますが、この警告はサーバーの動作には影響しません
- 解決策同じホスト名を持つ2つの同一のリスニングポートが設定されているかどうかを確認します
nginx: [warn] conflicting server name "localhost" on 0.0.0.0:80, ignored
- 問題が発生した後、Nginx構成ファイルをリロードします
nginx -s reload
- ブラウザでのアクセスが成功したかどうか
[外部リンク画像の転送に失敗しました。ソースサイトにヒル防止リンクメカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします(img-Krio1hfT-1588549492225)(91348C8B2ABC49D6AD90386F81DC2CBF)]
Nginxの一般的なコマンド
コマンド | 効果 |
---|---|
service nginx start | Nginxサービスを開く |
service nginx stop | Nginxサービスを停止します |
service nginx restart | Nginxサービスを再起動します |
nginx-sリロード | Nginx構成ファイルをリロードします |
nginx -v | Nginxのバージョン番号を表示する |
nginx -s stop | nginxを停止します |
nginx -s quit | nginxを終了します |
nginx -t | 構成ファイルが正しいかどうかを確認します |