ホームページ  >  記事  >  運用・保守  >  Linuxのnginxとは何ですか

Linuxのnginxとは何ですか

青灯夜游
青灯夜游オリジナル
2022-03-09 14:50:433930ブラウズ

Linux では、nginx は高性能 HTTP およびリバース プロキシ Web サーバーであり、高性能 HTTP サーバー、リバース プロキシ サーバー、および電子メール (IMAP/POP3) プロキシ サーバーです。

Linuxのnginxとは何ですか

#このチュートリアルの動作環境: linux5.9.8 システム、Dell G3 コンピューター。

nginx とは

#Apache 静的リソース サーバー

nginx は、リバース プロキシ静的リソース サーバーです。

nginx は、C 言語を使用して開発された高性能 http サーバーおよびリバース プロキシ サーバーです。 Nginx は、高性能の http サーバー/リバース プロキシ サーバーおよび電子メール (IMAP/POP3) プロキシ サーバーです。ロシアのプログラマー、Igor Sysoev によって開発された nginx の公式テストは、50,000 の同時接続をサポートでき、CPU、メモリ、その他のリソースの消費量が非常に少なく、非常に安定して実行されます。

フォワード プロキシ:


Linuxのnginxとは何ですか リバース プロキシ:

Linuxのnginxとは何ですか リバース プロキシは通常、リクエストを分散し、負荷分散を実現するためにサーバー側で使用されます。

Nginx のアプリケーション シナリオ

1. http サーバー。 Nginx は、http サービスを独自に提供できる http サービスです。静的 Web サーバーとして使用できます。

2. 仮想ホスト。複数の Web サイトを 1 つのサーバー上で仮想化できます。たとえば、個人の Web サイトで使用される仮想ホストなどです。

ポートベース、さまざまな端末

ドメイン名に基づく、さまざまなドメイン名

3. リバース プロキシ、ロード バランシング。 Web サイトへのアクセス数が一定のレベルに達し、単一のサーバーではユーザーのリクエストを満たせない場合は、複数のサーバー クラスターが必要になり、nginx をリバース プロキシとして使用できます。また、複数のサーバーが均等に負荷を分散できるため、特定のサーバーの負荷が高くなってダウンタイムが発生したり、特定のサーバーがアイドル状態になったりすることがなくなります。

nginx のバージョンをクリックしてインストールし、サービスを開始します

1. nginx サービスに必要なプラグインをインストールします

yum install -y yum-utils

Linuxのnginxとは何ですか

2 nginx のインストール

公式 yum ソースには nginx はありませんが、このマシンに nginx の yam ソースを設定して nginx の yum インストールを実装できます。

Linuxのnginxとは何ですか 次に、nginx.repo ファイルを作成します:

[nginx]
 name=nginx repo
 baseurl=http://nginx.org/packages/centos/7/$basearch/
 gpgcheck=0
 enabled=1

インストール済み:

Linuxのnginxとは何ですか nginx サービスの管理コマンド :

systemctl start/stop/restart/status nginx


Linuxのnginxとは何ですか

3. Linux オペレーティング システムの selinux サービスを閉じる必要があります

#Selinux は、Linux 用のセキュリティ サービス スイートです。vi /etc/selinux/config ファイルを変更し、次の内容を変更します。


変更後は Linux を再起動する必要があります。 Linuxのnginxとは何ですか nginx 設定ファイル:


Linuxのnginxとは何ですか
Linuxのnginxとは何ですか

今後頻繁に変更する設定ファイルは /etc/nginx/conf.d/default です。 conf:

Linuxのnginxとは何ですか負荷分散に nginx を使用します

圧縮パッケージをダウンロードした後、それを xftp 経由で Linux opt フォルダーに転送し、それを解凍します

最初のステップは、Linux サーバー上で 2 つの Tomcat を起動することです

先配置jdk环境变量:
Linuxのnginxとは何ですか
Linuxのnginxとは何ですか
然后 保存退出 ,在命令行执行 source 命令 编译环境变量文件,让环境变量立刻生效:
Linuxのnginxとは何ですか
tomcat 启动:Linuxのnginxとは何ですか
Linuxのnginxとは何ですか
第二步,准备两个tomcat 一个端口号弄成8000 另外一个9000
Linuxのnginxとは何ですか
Linuxのnginxとは何ですか
Linuxのnginxとは何ですか
第三步,修改nginx的配置文件
没有安装vim,使用vi命令
Linuxのnginxとは何ですか
Linuxのnginxとは何ですか
然后重启nginx服务:
Linuxのnginxとは何ですか

nginx支持的负载均衡的策略

轮询策略

默认nginx支持的策略,来了请求之后 排队把请求一个一个的分发出去。

权重策略
Linuxのnginxとは何ですか
IP_HASH方式

根据 客户端ip地址 固定分配到一台服务器上,以后这个ip来的所有请求 都会只到这一个服务器上。
Linuxのnginxとは何ですか

使用keepalived 完成 nginx 高可用配置

Linuxのnginxとは何ですか
上面我们实现的集群方式 可以解决tomcat 服务器单点故障的问题,但是解决不了 nginx服务器单点故障的问题。

解决nginx 单点故障问题,市场上通用的解决方案就是使用keepalived 这种插件。

先安装keepalived服务:
Linuxのnginxとは何ですか
Linuxのnginxとは何ですか
下面修改keepalived的配置文件: vim /etc/keepalived/keepalived.conf文件:

global_defs { 
	notification_email { 
		#keepalived如果检测到nginx服务不能用会往这个邮件发信心 
		test@163.com 
	}
	#配置邮件服务器的信息 
	notification_email_from keepalived@localhost 
	smtp_server 127.0.0.1 
	smtp_connect_timeout 30 
	router_id LVS_MASTER
}
#声明一个脚本 
vrrp_script chk_http_port { 
	#检测本机nginx的服务是否能用的脚本 这个脚本等下要自己编写 
	script "/usr/local/src/check_nginx_pid.sh" 
	#每隔多长时间自动调用上述脚本 
	interval 2 
	#权重 
	weight 2 
}
vrrp_instance VI_1 { 
	#state MASTER 
	#配置当前的nginx服务器是主机还是备机 
	state BACKUP 
	#配置当前nginx服务是是否非抢占模式 
	#nopreempt 
	#配置心跳网卡的名称 
	interface ens33 
	#所有的keepalived的服务器的虚拟化路由都要一致 
	virtual_router_id 50 
	#nginx服务器的初始化权重 
	priority 100
	#心跳连接发送的间隔 
	advert_int 1 
	#认证方式和认证密码 要保证所有keepalive的服务器的验证方式和密码都一样 
	authentication { 
		auth_type PASS 
		auth_pass 1111 
	}
	#启用上述脚本 
	track_script {
		 chk_http_port 
	}
	virtual_ipaddress { 
		#配置了keeplived服务器之后再访问tomcat集群虚拟的ip地址时多少
		192.168.17.222 
		#虚拟ip 
	} 
}

下一步,写/usr/local/src/check_nginx_pid.sh这个脚本:

#! /bin/bash 
A=`ps -C nginx --no-header |wc -l` 
if [ $A -eq 0 ];then 
systemctl start nginx 
if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then 
killall keepalived 
fi
fi

创建好这个脚本之后 不要忘记修改文件的权限:

Linuxのnginxとは何ですか
下面启动keepalived服务:

systemctl start keepalived

相关推荐:《Linux视频教程

以上がLinuxのnginxとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。