nginxのは、接続タイムアウトを達成します
- クライアント接続、リソースの無駄で長期占領を回避するために、企業のWebサイトでは、制御接続のアクセス時間を達成するために、適切な接続タイムアウトパラメータを設定することができます
- ビューの接続パラメータにシオマネキツールを使用します
タイムアウトパラメータ
Keepalive_timeoutは
、タイムアウト時間を保持し、接続を設定し、一般的にのみ、このパラメータを設定し、デフォルトは65秒です、状況のサイトに応じて設定する、または閉じ、HTTPセグメント、サーバ・セクション、または場所のセクションで提供することができる
Client_header_timeoutは、
クライアントを待ってリクエストヘッダを送信し、指定しましたタイムアウト
Client_body_timeoutは
読み取りリクエストボディのタイムアウトを提供しました
設定ファイルを変更します。
[root@localhost ~]# cd /usr/local/nginx/conf/
[root@localhost conf]# vim nginx.conf ##修改配置文件
#keepalive_timeout 0;
keepalive_timeout 65 180; ##服务端和客户端的超时时间
client_header_timeout 80; ##请求头部超时时间
client_body_timeout 80; ##请求体超时时间
[root@localhost conf]# service nginx stop ##关闭开启服务
[root@localhost conf]# service nginx start
nginxのを実行しているプロセスの数
- 並行性の高いシナリオでは、私たちは、目詰まりを避けるために、ユーザの要求を処理するために迅速な対応を保証するために、より多くのnginxのプロセスを開始する必要があります
- あなたはnginxのを実行しているプロセスの数を表示するpsの補助コマンドを使用することができます
- プロセスへの変更の数を設定し
、設定ファイルを変更するプロセスの設定パラメータを変更します- Worker_processパラメータ変更プロファイルは
、一般にCPUコア又は多数の数設定
数やCPUコアの数として提供することができる高い同時実行で2回- アクセス要求に応答する際に、より実行中のプロセスの数は、nginxのは、一時的にサービスを提供するための新しいプロセスを開始し、システムのオーバーヘッドを削減、サービスの速度を改善しません
- 利用PSは、実行中のプロセスの数の変化を見るためにAUX
- デフォルトでは、nginxのは、異なるCPU処理、ハードウェアマルチコアCPUをフルに活用に異なるプロセスを割り当てることができ、単一のCPU上で複数のプロセスを実行することができます
- ステージ4に核物理サーバ、以下のように、プロセスが分散され
worker_cpu_affinity 0001 0010 0100 1000
図1は、現在の作業プロセス情報を表示します
[root@localhost ~]# ps aux | grep nginx ##查看进程信息
root 7231 0.0 0.0 20548 620 ? Ss 01:57 0:00 nginx: master process ##主进程
nginx 7232 0.0 0.0 23076 1400 ? S 01:57 0:00 nginx: worker process ##1个工作进程
root 7372 0.0 0.0 112728 972 pts/2 S+ 02:07 0:00 grep --color=auto nginx
2、CPUの仮想マシンを追加
3、設定ファイルを変更します
[root@localhost ~]# cd /proc/
[root@localhost proc]# cat cpuinfo ##查看cpu核心数
processor : 0 ##第一个
...
processor : 1 ##第二个
...
[root@localhost proc]# cd /usr/local/nginx/conf/
[root@localhost conf]# vim nginx.conf ##修改配置文件
#user nobody;
worker_processes 2; ##核心数为2
worker_cpu_affinity 01 10; ##进程分配
4、作業プロセスを参照してください
[root@localhost conf]# ps aux | grep nginx ##查看Nginx进程信息
nginx 2329 0.0 0.0 23076 1392 ? S 20:12 0:00 nginx: worker process
##此时是两个工作进程
nginx 2330 0.0 0.0 23076 1384 ? S 20:12 0:00 nginx: worker process
達成するために、nginxのWebページの圧縮
- nginxののngx_http_gzip_module圧縮モジュールは、ファイル圧縮の内容のための機能を提供します
- nginxのサーバーがコンテンツは、ユーザーのアクセスの利便性を高めるために、帯域幅のサイトを保存するために、クライアントを送信する前に出力を圧縮することができます、デフォルトでインストールされています
- 圧縮パラメータを最適化圧縮性能に適切なコンフィギュレーションファイルに追加することができます
圧縮パラメータ
- :上のgzip GZIP圧縮出力ターンオン
- gzip_min_length 1K:最小バイト数を設定するための圧縮されたページを許可
- gzip_buffers 4 16K:圧縮ストリームバッファの結果として4つのユニット16Kアプリケーションメモリを表し、デフォルトでは、圧縮結果GZIPを格納するために元のデータメモリと同じサイズを適用することです
- zip_http_version 1.0:認識HTTPプロトコルのバージョンを設定するため、デフォルトでは現在、ほとんどのブラウザは、すでにgzipの解凍をサポートし、1.1ですが、最も遅いプロセスは、比較的サーバーのCPUリソースを消費します
- gzip_comp_level 2:指定GZIP圧縮比、圧縮、最速の最小値よりも速度を処理する。9最大圧縮、速い伝送速度よりも、しかし、処理速度が最も遅い、デフォルトを使用します
- text / plainのgzip_types:圧縮の種類は、それらのページの文書の圧縮を有効にすることです
- 上gzip_vary:オプションは、gzipで圧縮されたページの後にフロントエンドキャッシュサーバのキャッシュを可能に
実験環境
Linux服务器(192.168.13.142)
一台win10测试机
1、圧縮モジュールのコンテンツを追加するための設定ファイルを変更します
[root@localhost ~]# cd /usr/local/nginx/conf/
[root@localhost conf]# vim nginx.conf ##修改配置文件
#gzip on; ##开启gzip压缩功能(暂时不开启)
gzip_min_length 1k; ##压缩阀值
gzip_buffers 4 16k; ##buffer 大小为4个16k缓冲区大小
gzip_http_version 1.1; ##压缩版本
gzip_comp_level 6; ##压缩比率,5,6适中
gzip_types text/plain application/x-javascript text/css image/jpg image/jpeg
image/png image/gif application/xml text/javascript application/x-httpd-php app
lication/javascript application/json;
##支持的类型格式
gzip_disable "MSIE [1-6]\."; ##禁用gzip条件,支持正则,表示ie6以下不启用gzip
gzip_vary on; ##让前端的缓存服务器缓存经过gzip压缩的页面
2、ページのサイトで画像を挿入
[root@localhost html]# mount.cifs //192.168.100.3/LAMP-C7 /mnt ##挂载共享
Password for root@//192.168.100.3/LAMP-C7:
[root@localhost html]# ls /mnt
apr-1.6.2.tar.gz Discuz_X2.5_SC_UTF8.zip LAMP-php5.6.txt
apr-util-1.6.0.tar.gz error.png mysql-5.6.26.tar.gz
awstats-7.6.tar.gz httpd-2.4.29.tar.bz2 nginx-1.12.0.tar.gz
cronolog-1.6.2-14.el7.x86_64.rpm kali.jpg php-5.6.11.tar.bz2
[root@localhost html]# cp /mnt/11.png ./ ##将图片复制到站点中
[root@localhost html]# vim index.html ##将图片放到网页中
<h1>Welcome to nginx!</h1>
<img src="11.jpg"/> ##添加图片
[root@localhost html]# service nginx stop ##关闭开启Nginx服务
[root@localhost html]# service nginx start
[root@localhost html]# systemctl stop firewalld.service ##关闭防火墙
[root@localhost html]# setenforce 0
3、ページ情報を表示し、シオマネキで捕まります
4、GZIP圧縮をオンにします
[root@localhost html]# vim /usr/local/nginx/conf/nginx.conf ##修改配置文件
gzip on; ##开启压缩功能
[root@localhost html]# service nginx stop ##关闭和开启Nginx服务
[root@localhost html]# service nginx start
5、ページビュー、およびシオマネキEtherealの表示アーカイブケース
nginxのは、抗ホットリンクを実装します
在企业网站服务中,一般都要配置防盗链功能,以避免网站内容被非法盗用,以造成经济损失
Nginx防盗链功能也非常强大。默认情况下,只需要进行简单的配置,即可实现防盗链处理
実験環境
一台Linux服务器(192.168.13.142)
一台win7盗链网站(192.168.13.135)
一台win10测试机
まず、win7のホットリンクホットリンクサイト内のWebページを作成すると、
1、接尾index.htmlを変更するには、テキストコンテンツを持つWebページを作成します
<html>
<head>
<title>云计算</title>
</head>
<body>
<h1>this is test web</h1>
<img src="http://www.kgc.com/11.jpg"/> ##盗链的图片
</body>
</html>
2、DNSサーバアドレス(192.168.13.142)を指定し、ウェブサイトを構築
3、インストールDNSサーバ
[root@localhost html]# yum install bind -y ##安装dns
[root@localhost html]# vim /etc/named.conf
options {
listen-on port 53 { any; }; ##监听所有
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
allow-query { any; }; ##允许所有
[root@localhost html]# vim /etc/named.rfc1912.zones ##配置区域配置文件
zone "kgc.com" IN {
type master;
file "kgc.com.zone"; ##kgc区域数据配置文件
allow-update { none; };
};
[root@localhost html]# cd /var/named/
[root@localhost named]# cp -p named.localhost kgc.com.zone ##复制模板
[root@localhost named]# vim kgc.com.zone ##修改区域配置文件
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 127.0.0.1
www IN A 192.168.13.142 ##本机地址
[root@localhost named]# systemctl start named ##开启dns服务
[root@localhost named]# systemctl stop firewalld.service ##关闭防火墙
[root@localhost named]# setenforce 0
4、テストマシンでアーバインサイト、元のサイトをご覧ください。
5、設定ファイルを修正するセキュリティ・チェーン機能を開きます
[root@localhost named]# vim /usr/local/nginx/conf/nginx.conf
##在server段插入防盗链配置
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location ~*\.(jpg|gif|swf)$ { ##支持格式
valid_referers none blocked *.kgc.com kgc.com; ##允许kgc.com为后缀访问
if ( $invalid_referer ) {
rewrite ^/ http://www.kgc.com/error.png; ##不是则发送错误图片
}
}
[root@localhost named]# cp /mnt/error.png /usr/local/nginx/html/ ##将防盗链图片放到站点中
[root@localhost named]# service nginx stop ##关闭开启Nginx服务
[root@localhost named]# service nginx start
テストマシンへのアクセスアーバインサイトを利用して6、
パラメータ最適化のためのFPMモジュール
- FPMプロセスは、スピード外PHPを向上させるために、モジュールFPMのパラメータを調整することができると呼ぶ場合nginxのPHP解析機能が実現されます
- FPMパラメータ調整モジュール、サーバのメモリとサーバの負荷に応じて調整されます
- プロセスを開始するFPMの方法
静的:FPMプロセスの固定された数があります
動的に:FPMプロセスは、動的な方法で生成する
パラメータPMによって指定しました
FPMの最適化パラメータ
- パラメータ静的ウェイ
pm.max_children:指定プロセスの数が開始- パラメータダイナミックモード
プロセスの数が最大数の開始を指定:pm.max_childrenは、
プロセスの動的モード初期FPM番号:pm.start_servers
pm.min_spare_servers:プロセスの最小数の下FPMを動的に閉じられた空
pm.max_spare_serversを:最大ダイナミックな方法をプロセスの数は、閉じた空FPM
FPM最適化パラメータの調整
优化原因:服务器为云服务器,运行了个人论坛,内存为1.5G,fpm进程数为20,内存消耗近1G,处理比较慢
优化参数调整:FPM启动时有5个进程,最小空闲2个进程,最大空闲8个进程,最多可以有20个进程存在