Linux では、nginx は高性能 HTTP およびリバース プロキシ Web サーバーであり、高性能 HTTP サーバー、リバース プロキシ サーバー、および電子メール (IMAP/POP3) プロキシ サーバーです。
#このチュートリアルの動作環境: linux5.9.8 システム、Dell G3 コンピューター。
nginx とは
#Apache 静的リソース サーバー nginx は、リバース プロキシ静的リソース サーバーです。 nginx は、C 言語を使用して開発された高性能 http サーバーおよびリバース プロキシ サーバーです。 Nginx は、高性能の http サーバー/リバース プロキシ サーバーおよび電子メール (IMAP/POP3) プロキシ サーバーです。ロシアのプログラマー、Igor Sysoev によって開発された nginx の公式テストは、50,000 の同時接続をサポートでき、CPU、メモリ、その他のリソースの消費量が非常に少なく、非常に安定して実行されます。 フォワード プロキシ:
リバース プロキシ:
リバース プロキシは通常、リクエストを分散し、負荷分散を実現するためにサーバー側で使用されます。
Nginx のアプリケーション シナリオ
1. http サーバー。 Nginx は、http サービスを独自に提供できる http サービスです。静的 Web サーバーとして使用できます。 2. 仮想ホスト。複数の Web サイトを 1 つのサーバー上で仮想化できます。たとえば、個人の Web サイトで使用される仮想ホストなどです。 ポートベース、さまざまな端末ドメイン名に基づく、さまざまなドメイン名3. リバース プロキシ、ロード バランシング。 Web サイトへのアクセス数が一定のレベルに達し、単一のサーバーではユーザーのリクエストを満たせない場合は、複数のサーバー クラスターが必要になり、nginx をリバース プロキシとして使用できます。また、複数のサーバーが均等に負荷を分散できるため、特定のサーバーの負荷が高くなってダウンタイムが発生したり、特定のサーバーがアイドル状態になったりすることがなくなります。 nginx のバージョンをクリックしてインストールし、サービスを開始します1. nginx サービスに必要なプラグインをインストールしますyum install -y yum-utils
公式 yum ソースには nginx はありませんが、このマシンに nginx の yam ソースを設定して nginx の yum インストールを実装できます。
次に、nginx.repo ファイルを作成します:
[nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/7/$basearch/ gpgcheck=0 enabled=1
nginx サービスの管理コマンド :
systemctl start/stop/restart/status nginx3. Linux オペレーティング システムの selinux サービスを閉じる必要があります
#Selinux は、Linux 用のセキュリティ サービス スイートです。vi /etc/selinux/config ファイルを変更し、次の内容を変更します。
変更後は Linux を再起動する必要があります。 nginx 設定ファイル:
負荷分散に nginx を使用します
圧縮パッケージをダウンロードした後、それを xftp 経由で Linux opt フォルダーに転送し、それを解凍します最初のステップは、Linux サーバー上で 2 つの Tomcat を起動することです
先配置jdk环境变量: 轮询策略 默认nginx支持的策略,来了请求之后 排队把请求一个一个的分发出去。 权重策略 根据 客户端ip地址 固定分配到一台服务器上,以后这个ip来的所有请求 都会只到这一个服务器上。 解决nginx 单点故障问题,市场上通用的解决方案就是使用keepalived 这种插件。 先安装keepalived服务: 下一步,写/usr/local/src/check_nginx_pid.sh这个脚本: 创建好这个脚本之后 不要忘记修改文件的权限:
然后 保存退出 ,在命令行执行 source 命令 编译环境变量文件,让环境变量立刻生效:
tomcat 启动:
第二步,准备两个tomcat 一个端口号弄成8000 另外一个9000
第三步,修改nginx的配置文件
没有安装vim,使用vi命令
然后重启nginx服务:nginx支持的负载均衡的策略
IP_HASH方式使用keepalived 完成 nginx 高可用配置
上面我们实现的集群方式 可以解决tomcat 服务器单点故障的问题,但是解决不了 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
}
}
#! /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
下面启动keepalived服务:systemctl start keepalived
相关推荐:《Linux视频教程》
以上がLinuxのnginxとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。