cd/usr/local/src wget http://nginx.org/download/nginx-1.7.6.tar.gz tar –xvf nginx-1.7.6.tar.gz 先安装pcre开发包 yum install -y pcre-devel 如果需要ssl功能需要openssl库 #yum -y install openssl openssl—devel要是这样编译的时候还是找不到openssl库 就需要下载openssl源文件,解压后,将路径指定到解压的路径 wget http://www.openssl.org/source/openssl-1.0.1j.tar.gz tar -xvf openssl-1.0.1j.tar.gz cd nginx-1.7.6 /configure --prefix=/usr/local/nginx --with-http_ssl_module --with-openssl=/usr/local/src/openssl-1.0.1j --with-pcre --with-http_stub_status_module make make install vi /usr/local/nginx/conf/nginx.conf 1user nobody nobody; 2#启动进程 3worker_processes 5; 4#全局错误日志及PID文件 5error_log logs/error.log notice; 6pid logs/nginx.pid; 7#工作模式及连接数上限 8events { 9#工作模式有:select(标准模式),poll(标准模式),kqueue(高效模式,适用FreeBSD 4.1+, OpenBSD 2.9+, NetBSD 2.0 and MacOS X), 10#epoll(高效模式,本例用的。适用Linux 2.6+,SuSE 8.2,), #/dev/poll(高效模式,适用Solaris 7 11/99+, HP/UX 11.22+ (eventport), IRIX 6.5.15+ 和 Tru64 UNIX 5.1A+) 11use epoll; 12worker_connections 1024; 13} 14#设定http服务器,利用它的反向代理功能提供负载均衡支持 15http { 16#设定mime类型 17include conf/mime.types; 18default_type application/octet-stream; 19#设定日志格式 20log_format main '$remote_addr - $remote_user [$time_local] ' 21 '"$request" $status $bytes_sent ' 22 '"$http_referer" "$http_user_agent" ' 23 '"$gzip_ratio"'; 24 25log_format download '$remote_addr - $remote_user [$time_local] ' '"$request" $status $bytes_sent ' '"$http_referer" "$http_user_agent" ' '"$http_range" "$sent_http_content_range"'; 26#设定请求缓冲 27client_header_buffer_size 10k; 28large_client_header_buffers 4 4k; 29 30#开启gzip模块,要求安装gzip 在运行./config时要指定 31gzip on; 32gzip_min_length 1100; 33gzip_buffers 4 8k; 34gzip_types text/plain; 35output_buffers 1 32k; 36postpone_output 1460; 37#设定访问日志 38access_log logs/access.log main; 39client_header_timeout 3m; 40client_body_timeout 3m; 41send_timeout 3m; 42sendfile on; 43tcp_nopush on; 44tcp_nodelay on; 45keepalive_timeout 65; 46 47#设定负载均衡的服务器列表 48upstream backserver { 49#weigth参数表示权值,权值越高被分配到的几率越大 50#本例是指在同一台服务器,多台服务器改变ip即可 51server 127.0.0.1:8081 weight=5; 52server 127.0.0.1:8082; 53server 127.0.0.1:8083; 54} #Deny access to any host other than (www).4535.com server { server_name _; #default return 404; } 55#设定虚拟主机,默认为监听80端口,改成其他端口会出现问题 56server { 57listen 80; 58server_name test.com www.test.com; 59charset utf8; 60#设定本虚拟主机的访问日志 61access_log logs/test.com.log main; 62#如果访问 /images/*, /js/*, /css/* 资源,则直接取本地文件,不用转发。但如果文件较多效果不是太好。 63location ~ ^/(images|js|css)/ { 64root /usr/local/testweb; 65expires 30m; 66} 67#对 "/" 启用负载均衡 68location / { 69proxy_pass http://backserver; 70proxy_redirect off; 71proxy_set_header Host $host; 72proxy_set_header X-Real-IP $remote_addr; 73proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 74client_max_body_size 10m; 75client_body_buffer_size 128k; 76proxy_connect_timeout 90; 77proxy_send_timeout 90; 78proxy_read_timeout 90; 79proxy_buffer_size 4k; 80proxy_buffers 4 32k; 81proxy_busy_buffers_size 64k; 82proxy_temp_file_write_size 64k;} 83#设定查看Nginx状态的地址,在运行./config 要指定,默认是不安装的。 84location /NginxStatus { 85stub_status on; 86access_log on; 87auth_basic "NginxStatus"; 88#是否要通过用户名和密码访问,测试时可以不加上。conf/htpasswd 文件的内容用 apache 提供的 htpasswd 工具来产生即可#auth_basic_user_file conf/htpasswd; 89} 90} 91 apache 里端口改成8080
(责任编辑:IT) |