1.   安装依赖:

[shell]
yum update -y

#更新下系统,防止版本过低问题

yum install gcc*

#更新下gcc库

yum install pcre pcre-devel openssl openssl-devel libxml2 libxml2-devel libxslt libxslt-devel gd gd-devel perl-devel perl-ExtUtils-Embed geoip geoip-devel

#安装要用到的依赖
<h2>编译参数:</h2>
./configure --prefix=/data/Nginx--with-select_module --with-poll_module --with-threads --with-file-aio --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module=dynamic --with-http_image_filter_module=dynamic --with-http_geoip_module=dynamic --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_auth_request_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-http_perl_module=dynamic --with-mail --with-stream_ssl_module --with-stream_realip_module --with-stream_geoip_module=dynamic --with-stream_ssl_preread_module --with-cpp_test_module --with-compat --with-pcre-jit --with-debug
[/shell]

Nginx配置详解:

Nginx.conf主配置文件

 

[shell]
user  www;

#Nginx 启动账户

worker_processes auto;

#Nginx 工作进程数,默认为auto,建议为处理器核心数或核心数*2

worker_cpu_affinity auto;

#自动绑定进程到可用CPU

error_log  logs/error.log;

#错误日志路径

#error_log  logs/error.log  error;

#错误日记级别为警告

#error_log  logs/error.log  info;

#错误日志级别为信息

pid        logs/nginx.pid;

#Nginx pid文件路径

worker_rlimit_nofile 1039999;

#最大文件打开数(连接),可设置为系统优化后的ulimit -HSn的结果

events

{

use   epoll;

#epoll是多路复用IO(I/O Multiplexing)中的一种方式,但是仅用于linux2.6以上内核,可以大大提高nginx的性能

worker_connections  1039999;

#单个后台worker process进程的最大并发链接数

accept_mutex on;

#如果accept_mutex启用,则工作进程将依次接受新连接。否则,将通知所有工作进程有关新连接的信息,如果新连接的数量很少,则某些工作进程可能只是浪费系统资源。

multi_accept on;

#设置一个进程是否同时接受多个网络连接,默认为off

}
&nbsp;

&nbsp;
[shell]
http {

include       mime.types;

#文件扩展名与类型映射表

default_type  application/octet-stream;

#默认文件类型

&nbsp;

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;

#设定日志路径

&nbsp;

sendfile        on;

#开启高效传输模式

#sendfile 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件,对于普通应用,

#必须设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为 off,以平衡磁盘与网络I/O处理速度,降低系统的uptime.

tcp_nopush     on;

#激活tcp_nopush参数可以允许把httpresponse header和文件的开始放在一个文件里发布,

#积极的作用是减少网络报文段的数量

server_tokens off;

#隐藏响应header和错误通知中的版本号

tcp_nodelay on;

#激活tcp_nodelay,内核会等待将更多的字节组成一个数据包,从而提高I/O性能

&nbsp;

keepalive_timeout  60;

#连接超时时间

&nbsp;

gzip  on;

#开启gzip压缩

#gzip_min_length  1k;

#设置允许压缩的页面最小字节数,页面字节数从header头的Content-Length中获取。默认值是0,表示不管页面多大都进行压缩。建议设置成大于1K。如果小于1K可能会越压越大。

gzip_buffers     4 16k;

#压缩缓冲区大小。表示申请4个单位为16K的内存作为压缩结果流缓存,默认值是申请与原始数据大小相同的内存空间来存储gzip压缩结果。

gzip_http_version 1.0;

#压缩版本(默认1.1,前端为squid2.5时使用1.0)用于设置识别HTTP协议版本,默认是1.1,目前大部分浏览器已经支持GZIP解压,使用默认即可。

gzip_comp_level 9;

#压缩比率。用来指定GZIP压缩比,1压缩比最小,处理速度最快;9压缩比最大,传输速度快,但处理最慢,也比较消耗cpu资源。

gzip_types       text/plain application/x-javascript text/css application/xml;

gzip_vary off;

#用来指定压缩的类型,“text/html”类型总是会被压缩

##vary header支持。该选项可以让前端的缓存服务器缓存经过GZIP压缩的页面,例如用

##Squid缓存经过Nginx压缩的数据。

&nbsp;

ssi on;

ssi_silent_errors on;

#开启ssi支持,默认是off

&nbsp;

limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;

limit_conn_zone $binary_remote_addr zone=addr:10m;

#limit模块,可防范一定量的DDOS攻击

#用来存储session会话的状态,如下是为session分配一个名为one的10M的内存存储区,限制了每秒只接受一个ip的一次请求 1r/s

&nbsp;

server_names_hash_bucket_size 128;

client_header_buffer_size 512k;

large_client_header_buffers 4 512k;

client_max_body_size 100m;

#设定请求缓存

&nbsp;

fastcgi_connect_timeout 300;

fastcgi_send_timeout 300;

fastcgi_read_timeout 300;

fastcgi_buffer_size 64k;

fastcgi_buffers 4 64k;

fastcgi_busy_buffers_size 128k;

fastcgi_temp_file_write_size 128k;

#FastCGI相关参数:为了改善网站性能:减少资源占用,提高访问速度

include */*/*/*.conf;

#包含子配置文件

}
[/shell]

http配置

[shell]
server {

listen       80;

#http端口

server_name  <a href="http://www.7890.ink">www.7890.ink</a>;

#域名

index index.html index.htm index.php;

#默认访问文件

root /data/www/7890.ink/www;

#网站根目录

error_page 404 /404.html;

#404页面地址

charset utf-8;

#字符编码

access_log  logs/7890.ink/www.access.log  main;

#访问日志地址

location / {

root   /data/www/7890.ink/www;

#动态文件根目录

index  index.html index.htm index.php;

#PHP默认访问额外你见

error_page   500 502 503 504  /50x.html;

#500系列地址

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

location ~ \.php$ {

root /data/www/7890.ink/www;

#PHP文件根目录

fastcgi_pass   127.0.0.1:9000;

#PHP转发地址

fastcgi_index  index.php;

#PHP默认访问文件

fastcgi_param  SCRIPT_FILENAME  scripts$fastcgi_script_name;

#fastcgi_param     SCRIPT_FILENAME       /home/www/7890.ink/www$fastcgi_script_name;

include        fastcgi_params;

}

}

}
[/shell]

 

开启https版本

[shell]
server {
listen 443 ssl;
#监听端口
charset utf-8;
#gbk,utf-8,gb2312,gb18030 可以实现多种编码识别
ssl on;
#开启ssl
ssl_certificate 7890.ink/www/www.7890.ink.crt;
#服务的证书
ssl_certificate_key 7890.ink/www/www.7890.ink.key;
#服务端key
#ssl_client_certificate /ls/app/nginx/conf/mgmtxiangqiankeys/ca.crt; #客户端证书
ssl_session_timeout 5m;
#session超时时间
#ssl_verify_client on;
# 开户客户端证书验证
ssl_protocols SSLv2 SSLv3 TLSv1;
#允许SSL协议
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
#加密算法
ssl_prefer_server_ciphers on;
#启动加密算法
listen 80;
#http端口
server_name www.7890.ink;
#域名
index index.html index.htm index.php;
#默认访问文件
root /data/www/7890.ink/www;
#网站根目录
error_page 404 /404.html;
#404页面地址
charset utf-8;
#字符编码
access_log logs/7890.ink/www.access.log main;
#访问日志地址
location / {
root /data/www/7890.ink/www;
#动态文件根目录
index index.html index.htm index.php;
#PHP默认访问额外你见
error_page 500 502 503 504 /50x.html;
#500系列地址
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location ~ \.php$ {
root /data/www/7890.ink/www;
#PHP文件根目录
fastcgi_pass 127.0.0.1:9000;
#PHP转发地址
fastcgi_index index.php;
#PHP默认访问文件
fastcgi_param SCRIPT_FILENAME scripts$fastcgi_script_name;
#fastcgi_param SCRIPT_FILENAME /home/www/7890.ink/www$fastcgi_script_name;
include fastcgi_params;
}
}
}
[/shell]

发表评论

邮箱地址不会被公开。 必填项已用*标注