----- Nginxサーバーの詳細なインストール手順
[Nginxの紹介]
- Nginxは、高性能で軽量なWebサービスソフトウェアであり、HTTPおよびリバースプロキシサーバーでもあります。
- Nginxの機能:高い安定性、低いシステムリソース消費、http同時接続のための高い処理能力。1台の物理サーバーで30,000〜50,000の同時リクエストをサポートできます。
- Webサーバーとして:Apacheサーバーと比較して、Nginxは少ないリソースを使用し、より多くの同時接続をサポートし、より高い効率を反映するため、Nginxはより人気があります。
- 書き換え書き換えルールのサポート:さまざまなドメイン名とURLに応じて、httpリクエストをさまざまなバックエンドサーバーグループに配信できます。
- 組み込みのヘルスチェック機能:NginxプロキシのバックエンドWebサーバーがダウンしても、フロントエンドアクセスは影響を受けません。
- 帯域幅の節約:gzip圧縮をサポートします。ブラウザーのローカルキャッシュヘッダーヘッダーを追加できます。
- 高い安定性:リバースプロキシに使用され、ダウンタイムの可能性は非常に低くなります。
[Nginxサーバーをインストール]
1.環境を構築する
Linuxオペレーティングシステムにhttpdサービスがインストールされている場合は、まず閉じてください。そうしないと、インストールプロセス中にポート80が占有されているというエラーが発生します。
1. Nginxの構成と操作には、pcre(提供されるライブラリファイル)、zlib(提供されるヘッダーファイル)ソフトウェアパッケージ(開発:開発パッケージ)のサポートを最初にインストールする必要があります。
[root@localhost~]# yum -y install pcre-devel zlib-devel
2.専用のユーザーアカウントを作成して、アクセス権をより正確に制御し、柔軟性を高め、セキュリティリスクを軽減します。
[root@localhost~]# useradd -M -s /sbin/nologin nginx
3. Nginxをコンパイルしてインストールし
ます。ここではNginx圧縮パッケージが必要です。インターネットからダウンロードして、/ optディレクトリにアップロードできます。(私のものはnginx-1.15.9.tar.gzバージョンです)
[root@localhost opt]# tar zxvf nginx-1.15.9.tar.gz
[root@localhost opt]#cd nginx-1.15.9/
[root@localhost nginx-1.15.9]#
./configure \
--prefix=/usr/local/nginx \ #######安装路径/usr/local/nginx
--user=nginx \ #######运行用户为nginx
--group=nginx \ #######运行用户组为nginx
--with-http_stub_status_module \ ########启用这个模块以支持状态统计,便于查看服务器的连接信息
(这边建议 先将 gcc gcc-c++ make 编译语言一起安装下,因为我的是装过的了,怕你们会报错)
[root@localhost nginx-1.15.9]# make -j3 ######make编译,核心数为3(加载速度快些)
[root@localhost nginx-1.15.9]# make install ######make 安装
4.管理者が「nginx」コマンドを直接実行してNginxのメインプログラムを呼び出すことができるように、メインプログラムNginxのソフト接続ファイルを作成します。
[root@localhost nginx-1.15.9]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
[root@localhost nginx-1.15.9]# ls -l /usr/local/sbin/nginx
(####问题报错:可能用户账号没创建 或者 make没编译好,需要重新make编译)
2. Nginxの操作と制御
5. Nginxメインプログラムは、
他の場所を確認したい場合は、構成ファイル(/usr/local/nginx/conf/nginx.conf)を確認するために、構成ファイルを確認する「-t」オプションも提供します。構成ファイルでは、「-c」オプションを使用してパスを指定できます。
[root@localhost nginx-1.15.9]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@localhost nginx-1.15.9]# nginx ######直接运行 nginx 及可启动 nginx 服务器
(注意这里:若服务器里有 httpd 等其他 web 服务软件,可以修改端口、停用或卸载服务,要不然会冲突。)
6. Nginxプログラムの監視ステータスを確認するか、ブラウザでWebサービスにアクセスすると(デフォルトのページには "Welcone to nginx!"と表示されます)、Nginxサービスが正常に実行されているかどうかを確認できます。
[root@localhost nginx-1.15.9]# netstat -anpt | grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 76079/nginx: master
[root@localhost nginx-1.15.9]# yum -y install elinks ######安装elinks浏览器
[root@localhost nginx-1.15.9]#elinks http://localhost ######使用elinks浏览器
1)://会显示: “Welcone to nginx!” 页面,表明 nginx 服务在正常运行
2):// 在你可以在真机上访问域名时,再在 linux 操作系统上输入 “elinks http://localhost ”时,将会显示你的域名
7. killallコマンドを使用して構成をリロードし、サービスを停止します(「-s」オプションでシグナルタイプを指定)、signal(HUPリロード構成、QUITはプロセスを終了、KILLはプロセスを強制終了)
[root@localhost nginx-1.15.9]# killall -s HUP nginx #####重载配置
[root@localhost nginx-1.15.9]# killall -s QUIT nginx #####退出进程
8. systemginツールを使用して、Nginxサービススクリプトに基づいて管理します
[root@localhost nginx-1.15.9]# vi /lib/systemd/system/nginx.service
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/bin/kill -s HUP $MAINPID
ExecStop=/usr/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
[root@localhost nginx-1.15.9]# chmod 754 /lib/systemd/system/nginx.service
[root@localhost nginx-1.15.9]# systemctl enable nginx.service
インストール済み
[ドメイン名に基づいて仮想ホストを構成する]
1. windosクライアントのC:\ Windows \ System32 \ drivers \ etc \ hostsファイルを変更し、www.51xit.topとwww.52xit.topという2つのドメイン名を追加します。どちらも実装用の同じサーバーIРアドレスを指します。異なるドメイン名が異なる仮想ホストにアクセスします。
例:
20.0.0.33 www.53com
20.0.0.33 www.553xit.com
2.各ウェブサイトのカタログとテストホームページを準備する
[root@localhost~]# mkdir -p /var/www/html/53xit/ ####创建www.53xit.com的根目录
[root@localhost ~]# mkdir -p /var/www/html/553xit/ ####创建www.553xit.com的根目录
[root@localhost~]# echo "www.53xit.top" >> /var/www/html/53xit/index.html
[root@localhost~]#echo "www.553xit.top" >> /var/www/html/553xit/index.html
3.設定ファイルnginx.confを編集します
[root@localhost nginx-1.15.9]# vi /usr/local/nginx/conf/nginx.conf
#user nobody; #####运行用户
worker_processes 1; #####工作进程数量
#error_log logs/error.log; #####错误日志文件的位置
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid; #####PID文件的位置
events {
use epoll; #####使用 epoll 模型
worker_connections 1024; #####每个进程处理1024个连接
}
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log logs/access.log main; #####访问日志位置
sendfile on; #####支持文件发送(下载)
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65; #####连接保持超时
#gzip on;
# server { #####web 服务的监听配置
# listen 80; #####监听端口及地址
# server_name localhost; #####网站名称(FQDN)
# charset utf-8; #####网页的默认字符集
# #access_log logs/host.access.log main;
# location / { #####根目录配置
# root html; #####网站根目录的位置
# index index.html index.htm; #####默认首页(索引页)
# }
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
error_page 500 502 503 504 /50x.html; #####内部错误的反馈界面
# location = /50x.html { #####错误页面配置
# root html;
# }
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
。。。。。。。 #####省略内容,以下全 # 号注释
。。。。
#location ~ /\.ht {
# deny all;
#}
# }
server { #####直接插入添加(第一个域名)
listen 80;
server_name www.53xit.com;
charset utf-8;
access_log logs/www.53xit.com.access.log;
location /{
root /var/www/html/53xit;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = 50x.html{
root html;
}
}
server { #####直接插入添加(第二个域名)
listen 80;
server_name www.553xit.com;
charset utf-8;
access_log logs/www.553xit.com.access.log;
location /{
root /var/www/html/553xit;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = 50x.html{
root html;
}
}
# another virtual host using mix of IP-, name-, and port-based configuration
........(省略内容)
4. Nginxを起動します
[root@localhost nginx-1.15.9]# systemctl restart nginx
5.テストする実際のマシンのブラウザーにドメイン名を入力します
[IPアドレスに基づいて仮想ホストを構成する]
1.ネットワークカードを仮想マシンに追加し、IPを設定し、pingをテストする
カスタムの追加:VM1ネットワークカード、
PPID番号の表示:nmcli接続ens36
のPPID番号をコピー
cd / etc / sysconf / network-scripts /
cp ifcfg-ens33 ifcfg-ens36
vi ifcfg-ens36
…(内容を変更し、PPID番号を変更するように注意してください) )
ネットワークカードを再起動します。systemctl restart network
2. nginx.conf構成ファイルのサブ定義タグの構成を変更します
vi /usr/local/nginx/conf/nginx.conf
。。。。。。(省略内容,只需要改下面几个参数)
erver {
listen 192.168.100.33:80; #####修改成ip
server_name 192.168.100.33:80; #####修改成ip
charset utf-8;
access_log logs/www.53xit.com.access.log;
location / {
root /var/www/html/53xit;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = 50x.html{
root html;
}
}
server {
listen 20.0.0.33:80; #####修改成ip
server_name 20.0.0.33:80; #####修改成ip
charset utf-8;
access_log logs/www.553xit.com.access.log;
location /{
root /var/www/html/553xit;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = 50x.html{
root html;
}
}
nginxサービスを再起動します。systemctl restart nginx
3.テストする実際のマシンのブラウザーにIPアドレスを入力します
[ポート番号に基づいて仮想ホストを構成する]
1.同じIPアドレスでポート番号が異なる
vi /usr/local/nginx/conf/nginx.conf
。。。。。(省略以下内容,更改如下几个参数)
server {
listen 20.0.0.33:6666;
server_name 20.0.0.33:6666;
charset utf-8;
access_log logs/www.53xit.com.access.log;
location / {
root /var/www/html/53xit;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = 50x.html{
root html;
}
}
server {
listen 20.0.0.33:8888;
server_name 20.0.0.33:8888;
charset utf-8;
access_log logs/www.553xit.com.access.log;
location /{
root /var/www/html/553xit;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = 50x.html{
root html;
}
}
nginxサービスを再起動します。systemctl restart nginx
2.実機のブラウザにIPアドレス+ポート番号を入力します