viciovirtual (06-06-10)
this is tutorial from:
[Only registered and activated users can see links. Click Here To Register...]
i have added just few small things to it.
- Run SSH console
-Login to WHM and look for the following route:Code:cd /usr/src wget http://sysoev.ru/nginx/nginx-0.7.63.tar.gz wget http://stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.9.tar.gz tar xvzf mod_rpaf-0.6.tar.gz cd mod_rpaf-0.6 /usr/local/apache/bin/apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c cd /usr/src tar xvzf pcre-7.9.tar.gz cd pcre-7.9 ./configure make make install cd /usr/src tar xvzf nginx-0.7.63.tar.gz cd nginx-0.7.63 ./configure --with-http_ssl_module --with-http_realip_module --with-http_dav_module --with-http_flv_module --with-http_gzip_static_module make make install
Main >> Service Configuration >> Apache Setup > Include Editor > Pre Main Include
- Add the following configuration and save, LIST_OF_YOUR_IPS changing the IP you occupy in your site:
go to whm > tweak settings and change the apache port from 80 to 81 (find 0.0.0.0:80 and change it to 0.0.0.0.:81)Code:LoadModule rpaf_module modules/mod_rpaf-2.0.so RPAFenable On # Enable reverse proxy add forward RPAFproxy_ips 127.0.0.1 LIST_OF_YOUR_IPS # which ips are forwarding requests to us RPAFsethostname On # let rpaf update vhost settings # allows to have the same hostnames as in the "real" # configuration for the forwarding Apache RPAFheader X-Real-IP # Allows you to change which header mod_rpaf looks # for when trying to find the ip the that is forwarding # our requests
- Run SSH console
Code:/usr/local/cpanel/whostmgr/bin/whostmgr2 --updatetweaksettings /scripts/rebuildhttpdconf httpd restartand add this code to it:Code:nano nginx.sh
- save the file and chmod and run it:Code:#!/bin/sh cat > "/usr/local/nginx/conf/nginx.conf" <<EOF user nobody; # no need for more workers in the proxy mode worker_processes 2; error_log logs/error.log info; worker_rlimit_nofile 8192; events { worker_connections 1024; # you might need to increase this setting for busy servers use epoll; # Linux kernels 2.6.x change to epoll } http { server_names_hash_max_size 2048; include mime.types; default_type application/octet-stream; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 10; gzip on; gzip_min_length 1100; gzip_buffers 4 32k; gzip_types text/plain application/x-javascript text/xml text/css; ignore_invalid_headers on; client_header_timeout 3m; client_body_timeout 3m; send_timeout 3m; connection_pool_size 256; client_header_buffer_size 4k; large_client_header_buffers 4 32k; request_pool_size 4k; output_buffers 4 32k; postpone_output 1460; include "/usr/local/nginx/conf/vhost.conf"; } EOF /bin/cp /dev/null /usr/local/nginx/conf/vhost.conf cd /var/cpanel/users for USER in *; do for DOMAIN in `cat $USER | grep ^DNS | cut -d= -f2`; do IP=`cat $USER|grep ^IP|cut -d= -f2`; ROOT=`grep ^$USER: /etc/passwd|cut -d: -f6`; echo "Converting $DOMAIN for $USER"; cat >> "/usr/local/nginx/conf/vhost.conf" <<EOF server { access_log off; error_log logs/vhost-error_log warn; listen 80; server_name $DOMAIN www.$DOMAIN; location ~* \.(gif|jpg|jpeg|png|ico|wmv|3gp|avi|mpg|mpeg|mp4|flv|mp3|mid|js|css|html|htm|wml)$ { root $ROOT/public_html; } location / { client_max_body_size 10m; client_body_buffer_size 128k; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; # you can increase proxy_buffers here to suppress "an upstream response # is buffered to a temporary file" warning proxy_buffers 16 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; proxy_connect_timeout 30s; proxy_redirect http://www.$DOMAIN:81 http://www.$DOMAIN; proxy_redirect http://$DOMAIN:81 http://$DOMAIN; proxy_pass http://$IP:81/; proxy_set_header Host \$host; proxy_set_header X-Real-IP \$remote_addr; proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for; } } EOF done done
-Check the configurationCode:chmod 755 nginx.sh ./nginx.sh
-Start nginxCode:/usr/local/nginx/sbin/nginx -t
- create init script [Only registered and activated users can see links. Click Here To Register...]Code:/usr/local/nginx/sbin/nginx
put this code into the fileCode:nano /etc/init.d/nginx
save the code and executeCode:#!/bin/sh # # nginx - this script starts and stops the nginx daemin # Taken from http://www.hikaro.com # chkconfig: - 85 15 # description: Nginx is an HTTP(S) server, HTTP(S) reverse \ # proxy and IMAP/POP3 proxy server # processname: nginx # config: /usr/local/nginx/conf/nginx.conf # pidfile: /usr/local/nginx/logs/nginx.pid # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Check that networking is up. [ "$NETWORKING" = "no" ] && exit 0 nginx="/usr/local/nginx/sbin/nginx" prog=$(basename $nginx) NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf" lockfile=/var/lock/subsys/nginx start() { [ -x $nginx ] || exit 5 [ -f $NGINX_CONF_FILE ] || exit 6 echo -n $"Starting $prog: " daemon $nginx -c $NGINX_CONF_FILE retval=$? echo [ $retval -eq 0 ] && touch $lockfile return $retval } stop() { echo -n $"Stopping $prog: " killproc $prog -QUIT retval=$? echo [ $retval -eq 0 ] && rm -f $lockfile return $retval } restart() { configtest || return $? stop start } reload() { configtest || return $? echo -n $"Reloading $prog: " killproc $nginx -HUP RETVAL=$? echo } force_reload() { restart } configtest() { $nginx -t -c $NGINX_CONF_FILE } rh_status() { status $prog } rh_status_q() { rh_status >/dev/null 2>&1 } case "$1" in start) rh_status_q && exit 0 $1 ;; stop) rh_status_q || exit 0 $1 ;; restart|configtest) $1 ;; reload) rh_status_q || exit 7 $1 ;; force-reload) force_reload ;; status) rh_status ;; condrestart|try-restart) rh_status_q || exit 0 ;; *) echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}" exit 2 esac
make it start when the server runCode:chmod +x /etc/init.d/nginx
to check itCode:/sbin/chkconfig nginx on
check the function if it worksCode:/sbin/chkconfig --list nginx
Done!Code:service nginx start service nginx stop service nginx restart service nginx reload service nginx configtest service nginx status
Advertise your mobile site for FREE with [Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
viciovirtual (06-06-10)
Hi, i only have some questions:
1. The htaccess´s files of the websites dont go to stop work?
2. in the line:
what number could be a good number for a server with sites with more than 1,000 users online.Code:worker_connections 1024;
3. In the line:
i only have to put the principal ip where i install cpanel orthe aditional ips too?Code:# Enable reverse proxy add forward RPAFproxy_ips 127.0.0.1 LIST_OF_YOUR_IPS
i hope help me with this for install, and thanks for this great tutorial
1. htaccess works for me.Originally Posted by viciovirtual [Only registered and activated users can see links. Click Here To Register...]
2. the worker connection is number of requests not the users, one page could have about 15 images it means 15 requests/connections per user.
3. you have to pull full list of your servers ips
Advertise your mobile site for FREE with [Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
is it better than normal apache & normal nignx?
will it make website faster ?
will it reduce server load ?
Last edited by bivaswap; 23-12-12 at 07:36.
There are currently 1 users browsing this thread. (0 members and 1 guests)
Bookmarks