I wont write about dependency softwares installation. I assume you already have them. If you dont, during installation you will know what softwares must be installed first as dependency.
cd /usr/local/
wget http://nginx.org/download/nginx-0.8.54.tar.gz
tar -zxvf nginx-0.8.54.tar.gz
cd nginx-0.8.54
./configure --sbin-path=/usr/local/sbin --with-http_ssl_module --without-mail_pop3_module --without-mail_imap_module --without-mail_smtp_module --with-http_stub_status_module --with-http_realip_module --with-http_gzip_static_module
make
make install
ln -s /usr/local/nginx/conf /etc/nginx
Edit the config file :
nano /etc/nginx/nginx.conf
Paste this config :
user nobody;
worker_processes 8;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 10 10;
gzip on;
gzip_comp_level 1;
gzip_proxied any;
gzip_disable "MSIE [1-6].(?!.*SV1)";
gzip_buffers 4 8k;
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 /var/log/nginx_access.log main;
access_log /dev/null;
# error_log /var/log/nginx_error.log debug;
error_log /dev/null;
###
client_header_timeout 3m;
client_body_timeout 3m;
send_timeout 3m;
client_header_buffer_size 1k;
large_client_header_buffers 4 4k;
output_buffers 1 32k;
postpone_output 1460;
tcp_nopush on;
tcp_nodelay on;
include /usr/local/nginx/sites-enabled/*;
}
Add a tweak a bit for fastcgi parameters so that PHP will be served better :
nano /etc/nginx/fastcgi_params
Paste this config on the bottom of the config file :
fastcgi_connect_timeout 60;
fastcgi_send_timeout 180;
fastcgi_read_timeout 180;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;
Finally let’s make a startup file on /etc/init.d/ :
nano /etc/init.d/nginx
Paste this :
#! /bin/sh
### BEGIN INIT INFO
# Provides: nginx
# Required-Start: $all
# Required-Stop: $all
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts the nginx web server
# Description: starts nginx using start-stop-daemon
### END INIT INFO
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/local/sbin/nginx
NAME=nginx
DESC=nginx
test -x $DAEMON || exit 0
# Include nginx defaults if available
if [ -f /etc/default/nginx ] ; then
. /etc/default/nginx
fi
set -e
case "$1" in
start)
echo -n "Starting $DESC: "
start-stop-daemon --start --quiet --pidfile /usr/local/nginx/logs/$NAME.pid
--exec $DAEMON -- $DAEMON_OPTS
echo "$NAME."
;;
stop)
echo -n "Stopping $DESC: "
start-stop-daemon --stop --quiet --pidfile /usr/local/nginx/logs/$NAME.pid
--exec $DAEMON
echo "$NAME."
;;
restart|force-reload)
echo -n "Restarting $DESC: "
start-stop-daemon --stop --quiet --pidfile
/usr/local/nginx/logs/$NAME.pid --exec $DAEMON
sleep 1
start-stop-daemon --start --quiet --pidfile
/usr/local/nginx/logs/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS
echo "$NAME."
;;
reload)
echo -n "Reloading $DESC configuration: "
start-stop-daemon --stop --signal HUP --quiet --pidfile /usr/local/nginx/logs/$NAME.pid
--exec $DAEMON
echo "$NAME."
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart|force-reload}" >&2
exit 1
;;
esac
exit 0
Dont forget to chmod it :
chmod 750 /etc/init.d/nginx
Now let’s make a virtual host sample for nginx :
mkdir /usr/local/nginx/sites-enabled
ln -s /usr/local/nginx/sites-enabled /etc/sites
nano /etc/sites/default.conf
Paste this :
server {
listen *:80;
location / {
root /var/www/html;
index index.php index.html;
# if file exists return it right away
if (-f $request_filename) {
break;
}
# otherwise rewrite the fucker
if (!-e $request_filename) {
rewrite ^(.+)$ /index.php$1 last;
break;
}
}
# if the request starts with our frontcontroller, pass it on to fastcgi
# location ~ .php$
# {
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name;
# fastcgi_param PATH_INFO $fastcgi_script_name;
# fastcgi_index index.php;
# include /usr/local/nginx/conf/fastcgi_params;
# }
}
We’ll uncomment php fastcgi configuration once we’ve installed php with fpm
Now make /var/www/html directory and make default index page :
Write any html codes you like, or just create a hello world text without any html tag.
Now make /var/www/html directory and make default index page :
mkdir -p /var/www/html
nano /var/www/html/index.html
Write any html codes you like, or just create a hello world text without any html tag.
Now let’s start our NGINX and test it in the browser
/etc/init.d/nginx start
See .. you’ll get some error Of course .. it’s a Centos. You need a dpkg package from Debian.
Let’s get it installed :
Let’s get it installed :
cd /usr/local/src/
wget http://ftp.de.debian.org/debian/pool/main/d/dpkg/dpkg_1.14.30.tar.gz
tar -zxvf dpkg_1.14.30.tar.gz
cd dpkg-1.14.30/
./configure
make
cd utils
make install
No comments:
Post a Comment