部署Nginx
一,安装nginx依赖: 查看是否已经安装 rpm -qa |grep gcc rpm -qa |grep openssl-devel rpm -qa |grep pcre-devel rpm -qa |grep zib-devel 安装: yum -y install 上面的依赖 二,安装nginx ./configuration make make install Configuration summary + using system PCRE library + OpenSSL library is not used + md5: using system crypto library + sha1: using system crypto library + using system zlib library nginx path prefix: "/usr/local/nginx" nginx binary file: "/usr/local/nginx/sbin/nginx" nginx configuration prefix: "/usr/local/nginx/conf" nginx configuration file: "/usr/local/nginx/conf/nginx.conf" nginx pid file: "/usr/local/nginx/logs/nginx.pid" nginx error log file: "/usr/local/nginx/logs/error.log" nginx http access log file: "/usr/local/nginx/logs/access.log" nginx http client request body temporary files: "client_body_temp" nginx http proxy temporary files: "proxy_temp" nginx http fastcgi temporary files: "fastcgi_temp" nginx http uwsgi temporary files: "uwsgi_temp" nginx http scgi temporary files: "scgi_temp" /usr/local/nginx/conf/ 上传已经配置好的proxy.conf&&nginx.conf
nginx.conf:
#user nobody; worker_processes 9; #error_log logs/error.log; #error_log logs/error.log notice; error_log logs/error.log error; pid logs/nginx.pid; events { worker_connections 8000; } http { include mime.types; default_type application/octet-stream; #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; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #gzip on; upstream myserver{ #ip_hash; server 192.168.1.201:9276; server 192.168.1.201:9277; server 192.168.1.202:9276; } server { listen 9288; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { proxy_pass http://myserver; proxy_next_upstream http_500 http_503 error timeout invalid_header; include /usr/local/nginx/conf/proxy.conf; #root html; #index index.html index.htm; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # #location ~ \.php$ { # root html; # fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; # include fastcgi_params; #} # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} } # another virtual host using mix of IP-, name-, and port-based configuration # #server { # listen 8000; # listen somename:8080; # server_name somename alias another.alias; # location / { # root html; # index index.html index.htm; # } #} # HTTPS server # #server { # listen 443 ssl; # server_name localhost; # ssl_certificate cert.pem; # ssl_certificate_key cert.key; # ssl_session_cache shared:SSL:1m; # ssl_session_timeout 5m; # ssl_ciphers HIGH:!aNULL:!MD5; # ssl_prefer_server_ciphers on; # location / { # root html; # index index.html index.htm; # } #} }
红色表示需要根据实际修改的地方!
proxy.conf:
proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k;
启动: /usr/local/nginx/sbin/nginx 检查配置文件(修改后是否正确) /usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf 主从备份:keepalived tar zxvf keepalived-1.2.7.tar.gz cd keepalived-1.2.7 ./configure make make install cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/ cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/ mkdir /etc/keepalived cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/ cp /usr/local/sbin/keepalived /usr/sbin/ 配置:
/etc/keepalived/keepalived.conf
主:
! Configuration File for keepalived global_defs { router_id LVS_DEVEL } vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 78 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.1.233 #192.168.1.234 } } # delay_loop 2 # lb_algo rr # lb_kind DR # nat_mask 255.255.255.0 # persistence_timeout 1 # protocol TCP # real_server 192.168.1.204 9496 { # weight 1 # TCP_CHECK { # connect_timeout 2 # nb_get_retry 2 # delay_before_retry 2 # } # } #}
从:
! Configuration File for keepalived global_defs { router_id LVS_DEVEL } vrrp_instance VI_1 { state BACKUP interface eth0 virtual_router_id 78 priority 90 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.1.233 #192.168.1.234 } } # delay_loop 2 # lb_algo rr # lb_kind DR # nat_mask 255.255.255.0 # persistence_timeout 1 # protocol TCP # real_server 192.168.1.204 9496 { # weight 1 # TCP_CHECK { # connect_timeout 2 # nb_get_retry 2 # delay_before_retry 2 # } # } #}
/etc/init.d/keepalived start /etc/init.d/keepalived stop 加入启动服务 echo "/usr/local/nginx/sbin/nginx" >> /etc/rc.local echo "/etc/init.d/keepalived start" >> /etc/rc.local