1. ツールとライブラリをインストールする
yum -y install gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
2. ディレクトリ構造
ソースディレクトリ:/ home / werben / pkgsrc / nginx
インストールディレクトリ:/ home / werben / application / nginx
3. 解凍ソースコードをダウンロード
wget -c https://nginx.org/download/nginx-1.17.5.tar.gz
4. ユーザーグループとユーザーを作成する
groupadd www
useradd -g www www
5. ソースコードをコンパイルする
. /configure --user=www --group=www --prefix=/home/werben/application/nginx --with-http_v2_module --with-http_ssl_module --with-http_sub_module --with-http_stub_status_module --with-http_gzip_static_module --with-http_flv_module --with-http_mp4_module --with-pcre
make && make install
6. グローバルコマンドのマッピング
ln -s /home/werben/application/nginx/sbin/nginx /usr/local/bin/nginx
7. 開始、停止、再起動
nginx -s stop
nginx -s quit
ngins -s reload
**8. 構成ファイルnginx.conf **の正確性を確認してください
nginx -t
9. 起動後の自動起動
vim /lib/systemd/system/nginx.service
[ Unit]
Description=nginx
After=network.target
[ Service]
Type=forking
ExecStart=nginx
ExecReload=nginx reload
ExecStop=nginx quit
PrivateTmp=true[Install]
WantedBy=multi-user.target
# デーモンをリロードします
systemctl daemon-reload
# nginxサービスを開始します
systemctl start nginx.service
# nginxサービスを停止します
systemctl stop nginx.service
# 自動起動を設定する
systemctl enable nginx.service
# 自動起動を停止します
systemctl disable nginx.service
# サービスの現在のステータスを表示する
systemctl status nginx.service
# サービスを再開します
systemctl restart nginx.service
# 開始されたすべてのサービスを表示
systemctl list-units --type=service
10. 問題と解決策
# 万一に備えて`systemctl start nginx.service`次のエラーを表示します
Job for nginx.service failed because the control process exited with error code.
See "systemctl status nginx.service" and "journalctl -xe"for details.
# 実施した
systemctl status nginx.service
# 次のエラーが発生した場合
Process:35783 ExecStart=...nginx/sbin/nginx(code=exitedstatus=203/EXEC)
nginx.service: Control process exited, code=exited status=203
systemd[1]: nginx.service: Failed with result 'exit-code'.
localhost.localdomain systemd[1]: Failed to start nginx.
journalctl -xe
# 次のメッセージが表示された場合
If you believe that systemd should be allowed execute access on the>
Then you should report thisas a bug.
You can generate a local policy module to allow this access.
Do allow this access for now by executing:
# ausearch -c '(nginx)'--raw | audit2allow -M my-nginx
# semodule -X 300-i my-nginx.pp
# 解決
setenforce 0
vim /etc/selinux/config
SELINUX=disabled
ps:Nginx構成ファイルの構造の説明
すべてのNginx構成ファイルは/ etc / nginx /ディレクトリにあります。
Nginxの主な構成ファイルは/etc/nginx/nginx.confです。
ドメインごとに個別の構成ファイルを作成すると、サーバーの保守が容易になります。
Nginxサーバーブロックファイルは.confで終わり、/ etc / nginx /conf.dディレクトリに保存する必要があります。必要な数のサーバーブロックを持つことができます。
標準の命名規則に従うことをお勧めします。たとえば、ドメイン名がmydomain.comの場合、構成ファイルの名前はmydomain.com.confにする必要があります。
ドメインサーバーブロックで繰り返し可能な構成セグメントを使用する場合は、これらのセグメントをフラグメントに再構築するのが最善です。
Nginxログファイル(access.logおよびerror.log)は、/ var / log / nginx /ディレクトリにあります。サーバーモジュールごとに異なるアクセスログファイルとエラーログファイルを用意することをお勧めします。
ドメインドキュメントのルートディレクトリは、任意の場所に設定できます。 webrootの最も一般的な場所は次のとおりです。
/home/<user_name>/<site_name>/var/www/<site_name>/var/www/html/<site_name>/opt/<site_name>/usr/share/nginx/html
総括する
上記は、編集者がnginxをインストールするために導入したcentos8カスタムディレクトリです。お役に立てば幸いです。ご不明な点がございましたら、メッセージを残してください。編集者から返信があります。 ZaLou.Cnのウェブサイトをご支援いただきありがとうございます。
この記事があなたに役立つと思うなら、再版を歓迎します、出典を示してください、ありがとう!
Recommended Posts