Nginxサービスをデプロイする方法

王林
リリース: 2023-05-12 10:13:17
転載
1550 人が閲覧しました

1. Nginx の概要:

1.1 Nginx とは何ですか?

Nginx (「エンジン x」) は、高性能、高同時実行性の www サービスおよびプロキシ サービス ソフトウェアをサポートするオープン ソースです。

はロシアの Igor Sysoev によって開発され、元々はロシアの大規模 Web サイト www.rambler.ru で使用されていました。

Nginx には、同時実行性が高く、システム リソースの使用量が少ないという特徴があります。

Nginx は、UNIX、Linux、DSB、Mac OS X、Solaris、および Windows オペレーティング システム上で実行できます。

1.2 Nginx の主な機能

高同時実行をサポート: 数万の同時接続をサポート可能

低リソース消費: 同時接続が 30,000 未満では、最初の 10 スレッドの消費量は 30,000 未満です。メモリ 200MB の 10%。

HTTPリバースプロキシと高速キャッシュ、つまりロードバランシング機能、RSノードサーバーの組み込みヘルスチェック機能が可能

Squidなどの専門的なキャッシュソフトウェアのキャッシュ機能を備えています

非同期ネットワーク I/O イベント モデルのサポート

#1.3 Nginx ソフトウェアの主な機能アプリケーション

#Web サービス ソフトウェアとして

#リバース プロキシおよびロード バランシング サービス

フロントエンド ビジネス データ キャッシュ サービス

2. Nginx Web サービス

2.1 Web サーバー アプリケーションとしての Nginx シナリオ

Nginx を使用して HTML、JS、CSS を実行する、小さな画像、その他の静的データ

Nginx を FastCGI と組み合わせて PHP やその他の動的プログラムを実行します

Nginx は Tomcat/Resin などを組み合わせて Java 動的プログラムをサポートします

2.2 Web サーバーの選択方法

職場では、適切なビジネス サービス ソフトウェアを選択する必要がある:

静的ビジネス: 同時実行性の高いシナリオ、Nginx が推奨されます
  • 動的ビジネス: Nginx と Apache の両方 はい、Nginx
  • 静的動的ビジネス: Nginx
  • ## を推奨します

    3 Nginx をコンパイルしてインストールする

  • インストール方法は多数ありますが、この記事ではコンパイルしてインストールする方法を使用します。大規模な展開が必要な場合は、ビジネス要件に応じて rpm パッケージをカスタマイズし、Ansible を通じてインストールできます。

3.1 pcre ライブラリのインストール

現在のシステム バージョンを確認します:

cat /etc/redhat-release
uname -r
ログイン後にコピー

結果:

CentOS release 6.10 (Final)
2.6.32-754.el6.x86_64
ログイン後にコピー

yum メソッドを使用して pcre をインストールします:

yum -y install pcre pcre-devel
rpm -qa pcre pcre-devel
ログイン後にコピー

結果:

pcre-devel-7.8-7.el6.x86_64

pcre-7.8-7.el6.x86_64

3.2 Nginx
をインストールします

openssl と openssl-devel がインストールされているかどうかを確認します:
rpm -qa openssl openssl-devel
ログイン後にコピー

結果: インストールされていない場合は、yum を使用してインストールします

openssl-1.0.1e-57.el6.x86_64
openssl-devel-1.0.1e-57.el6.x86_64
ログイン後にコピー

nginx パッケージの保存ディレクトリを作成します:

mkdir -p /app/nginx-1.8.1
mkdir -p /server/tools
cd /server/tools/
ログイン後にコピー

nginx ソフトウェアのダウンロード パッケージ:

公式アドレス: www.nginx.rog

wget -q http://nginx.org/download/nginx-1.8.1.tar.gz
ログイン後にコピー

nginx ユーザーの作成:

useradd nginx -s /sbin/nologin -M
ログイン後にコピー

ソフトウェア パッケージを解凍し、解凍されたディレクトリに入力します:

tar xf nginx-1.8.1.tar.gz
cd nginx-1.8.1
ログイン後にコピー

Compile:

コンパイルされたモジュールは ./configure --help を通じて表示できます

./configure --user=nginx --group=nginx --prefix=/app/nginx-1.8.1/ --with-http_stub_status_module --with-http_ssl_module
ログイン後にコピー

インストール:

make
make install
ログイン後にコピー

ソフト リンクの作成: 使用とバージョン アップグレードに便利です

ln -s /app/nginx-1.8.1/ /app/nginx
ログイン後にコピー

開始前テスト:

/app/nginx/sbin/nginx -t
ログイン後にコピー

結果:

nginx: 設定ファイル /app/nginx-1.8.1//conf/nginx.conf 構文is oknginx: 構成ファイル /app /nginx-1.8.1//conf/nginx.conf テストは成功しました

Nginx サービスを開始してポートを確認します:

/app/nginx/sbin/nginx
netstat -utpln | grep 80
ログイン後にコピー

結果:

tcp 0 0 0 0.0.0.0:80 0.0.0.0:*curl 192.168.1.31

結果:

<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h2>Welcome to nginx!</h2>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/" rel="external nofollow" >nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/" rel="external nofollow" >nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>
ログイン後にコピー

4. Nginx ディレクトリ構造および設定ファイル

4.1 Nginxディレクトリ構造の説明

tree /app/nginx
ログイン後にコピー
/app/nginx
├── client_body_temp
├── conf							#nginx配置文件目录
│   ├── fastcgi.conf				#fastcgi相关参数配置文件
│   ├── fastcgi.conf.default
│   ├── fastcgi_params				#fastcgi参数文件
│   ├── fastcgi_params.default
│   ├── koi-utf
│   ├── koi-win
│   ├── mime.types					#媒体类型
│   ├── mime.types.default
│   ├── nginx.conf					#Nginx主配置文件
│   ├── nginx.conf.default
│   ├── scgi_params					#scgi配置文件
│   ├── scgi_params.default
│   ├── uwsgi_params				#uwsgi配置文件
│   ├── uwsgi_params.default
│   └── win-utf
├── fastcgi_temp					#fastcgi临时数据文件
├── html							#默认站点目录
│   ├── 50x.html					#错误页面显示文件
│   └── index.html					#默认的站点首页文件
├── logs							#默认日志路径
│   ├── access.log					#默认访问日志文件
│   ├── error.log					#默认错误日志文件
│   └── nginx.pid					#Nginx的pid文件
├── proxy_temp						#临时目录
├── sbin							#Nginx命令目录
│   ├── nginx						#启动命令
│   └── nginx.old
├── scgi_temp						#临时目录
└── uwsgi_temp						#临时目录

9 directories, 22 files
ログイン後にコピー
4.2 Nginxメイン設定ファイル

コメントに移動し、設定ファイルを表示します:
egrep -v "#|^$" /app/nginx/conf/nginx.conf.default
ログイン後にコピー

結果:

worker_processes  1;                            #worker进程数量
events {                                        #事件区块开始
    worker_connections  1024;                    #单worker进程支持的最大连接
}                                                #事件区块结束
http {                                            #HTTP区块开始
    include       mime.types;                    #支持的媒体类型库
    default_type  application/octet-stream;        #默认媒体类型
    sendfile        on;                            #开启高效传输模式
    keepalive_timeout  65;                        #连接超时
    server {                                    #server区块开始
        listen       80;                        #服务端口,默认80
        server_name  localhost;                    #域名主机名
        location / {                            #location区块开始
            root   html;                        #站点根目录
            index  index.html index.htm;        #默认首页文件
        }                                        #location区块结束
        error_page   500 502 503 504  /50x.html;#对应状态码及回应
        location = /50x.html {                    #location开始回应50x.html
            root   html;                        #站点目录为html
        }                                        
    }
}                                                #HTTP区块结束
ログイン後にコピー

注: 複数のサーバー ブロックとロケーション ブロックが存在する可能性があります。

以上がNginxサービスをデプロイする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート