this is tutorial from:
Manual Install Nginx with Cpanel Apache in proxy mode on apache - HIKARO
i have added just few small things to it.
- Run SSH console
-Login to WHM and look for the following route:
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)
- Run SSH console
and add this code to it:
- save the file and chmod and run it:
-Check the configuration
-Start nginx
- create init script nginx init script on centos - HIKARO
put this code into the file
save the code and execute
make it start when the server run
to check it
check the function if it works
Done!
Manual Install Nginx with Cpanel Apache in proxy mode on apache - HIKARO
i have added just few small things to it.
- Run SSH console
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:
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 restart
Code:
nano nginx.sh
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
Code:
chmod 755 nginx.sh ./nginx.sh
Code:
/usr/local/nginx/sbin/nginx -t
Code:
/usr/local/nginx/sbin/nginx
Code:
nano /etc/init.d/nginx
Code:
#!/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
Code:
chmod +x /etc/init.d/nginx
Code:
/sbin/chkconfig nginx on
Code:
/sbin/chkconfig --list nginx
Code:
service nginx start service nginx stop service nginx restart service nginx reload service nginx configtest service nginx status
Comment