Forked from zefer/Install_nginx_from_src_with_module.sh
Last active
January 3, 2016 15:49
-
-
Save phpfour/8485399 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; | |
fastcgi_param QUERY_STRING $query_string; | |
fastcgi_param REQUEST_METHOD $request_method; | |
fastcgi_param CONTENT_TYPE $content_type; | |
fastcgi_param CONTENT_LENGTH $content_length; | |
fastcgi_param SCRIPT_NAME $fastcgi_script_name; | |
fastcgi_param REQUEST_URI $request_uri; | |
fastcgi_param DOCUMENT_URI $document_uri; | |
fastcgi_param DOCUMENT_ROOT $document_root; | |
fastcgi_param SERVER_PROTOCOL $server_protocol; | |
fastcgi_param HTTPS $https if_not_empty; | |
fastcgi_param GATEWAY_INTERFACE CGI/1.1; | |
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version; | |
fastcgi_param REMOTE_ADDR $remote_addr; | |
fastcgi_param REMOTE_PORT $remote_port; | |
fastcgi_param SERVER_ADDR $server_addr; | |
fastcgi_param SERVER_PORT $server_port; | |
fastcgi_param SERVER_NAME $server_name; | |
# PHP only, required if PHP was built with --enable-force-cgi-redirect | |
fastcgi_param REDIRECT_STATUS 200; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
sudo su - | |
# stuff we need to build from source | |
apt-get install libpcre3-dev build-essential libssl-dev libssl0.9.8 zlib1g lsb-base | |
# get the nginx source | |
cd /opt/ | |
wget http://nginx.org/download/nginx-1.4.4.tar.gz | |
tar -zxvf nginx* | |
# we'll put the source for nginx modules in here | |
mkdir /opt/nginxmodules | |
cd /opt/nginxmodules | |
# get the source for the Headers More module - see http://wiki.nginx.org/HttpHeadersMoreModule | |
wget https://github.com/masterzen/nginx-upload-progress-module/archive/master.zip | |
unzip master.zip | |
cd /opt/nginx-1.4.4/ | |
# configure with chosen modules - see http://wiki.nginx.org/InstallOptions | |
./configure \ | |
--conf-path=/etc/nginx/nginx.conf \ | |
--sbin-path=/usr/local/sbin/nginx \ | |
--error-log-path=/var/log/nginx/error.log \ | |
--pid-path=/var/run/nginx.pid \ | |
--lock-path=/var/lock/nginx.lock \ | |
--http-log-path=/var/log/nginx/access.log \ | |
--with-http_flv_module \ | |
--with-http_mp4_module \ | |
--with-http_ssl_module \ | |
--with-http_gzip_static_module \ | |
--add-module=/opt/nginxmodules/nginx-upload-progress-module \ | |
make | |
make install | |
# Add the init script | |
nano /etc/init.d/nginx | |
/usr/sbin/update-rc.d -f nginx defaults | |
# Run it | |
/etc/init.d/nginx start | |
# Additional Setup (to mimic the setup from package install) | |
mkdir /etc/nginx/ | |
mkdir /etc/nginx/sites-available | |
mkdir /etc/nginx/sites-enabled | |
mkdir /etc/nginx/conf.d | |
nano /etc/nginx/nginx.conf | |
nano /etc/nginx/mime.types | |
nano /etc/nginx/proxy_params | |
nano /etc/nginx/fastcgi_params | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
types { | |
text/html html htm shtml; | |
text/css css; | |
text/xml xml rss; | |
image/gif gif; | |
image/jpeg jpeg jpg; | |
application/x-javascript js; | |
application/atom+xml atom; | |
text/mathml mml; | |
text/plain txt; | |
text/vnd.sun.j2me.app-descriptor jad; | |
text/vnd.wap.wml wml; | |
text/x-component htc; | |
image/png png; | |
image/tiff tif tiff; | |
image/vnd.wap.wbmp wbmp; | |
image/x-icon ico; | |
image/x-jng jng; | |
image/x-ms-bmp bmp; | |
image/svg+xml svg svgz; | |
application/java-archive jar war ear; | |
application/json json; | |
application/mac-binhex40 hqx; | |
application/msword doc; | |
application/pdf pdf; | |
application/postscript ps eps ai; | |
application/rtf rtf; | |
application/vnd.ms-excel xls; | |
application/vnd.ms-powerpoint ppt; | |
application/vnd.wap.wmlc wmlc; | |
application/vnd.google-earth.kml+xml kml; | |
application/vnd.google-earth.kmz kmz; | |
application/x-7z-compressed 7z; | |
application/x-cocoa cco; | |
application/x-java-archive-diff jardiff; | |
application/x-java-jnlp-file jnlp; | |
application/x-makeself run; | |
application/x-perl pl pm; | |
application/x-pilot prc pdb; | |
application/x-rar-compressed rar; | |
application/x-redhat-package-manager rpm; | |
application/x-sea sea; | |
application/x-shockwave-flash swf; | |
application/x-stuffit sit; | |
application/x-tcl tcl tk; | |
application/x-x509-ca-cert der pem crt; | |
application/x-xpinstall xpi; | |
application/xhtml+xml xhtml; | |
application/zip zip; | |
application/octet-stream bin exe dll; | |
application/octet-stream deb; | |
application/octet-stream dmg; | |
application/octet-stream eot; | |
application/octet-stream iso img; | |
application/octet-stream msi msp msm; | |
application/ogg ogx; | |
audio/midi mid midi kar; | |
audio/mpeg mpga mpega mp2 mp3 m4a; | |
audio/ogg oga ogg spx; | |
audio/x-realaudio ra; | |
audio/webm weba; | |
video/3gpp 3gpp 3gp; | |
video/mp4 mp4; | |
video/mpeg mpeg mpg mpe; | |
video/ogg ogv; | |
video/quicktime mov; | |
video/webm webm; | |
video/x-flv flv; | |
video/x-mng mng; | |
video/x-ms-asf asx asf; | |
video/x-ms-wmv wmv; | |
video/x-msvideo avi; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
user www-data; | |
worker_processes 4; | |
pid /run/nginx.pid; | |
worker_rlimit_nofile 8192; | |
events { | |
worker_connections 4096; | |
multi_accept on; | |
} | |
http { | |
## | |
# Basic Settings | |
## | |
sendfile on; | |
tcp_nopush on; | |
tcp_nodelay on; | |
types_hash_max_size 2048; | |
server_tokens off; | |
# server_names_hash_bucket_size 64; | |
# server_name_in_redirect off; | |
include /etc/nginx/mime.types; | |
default_type application/octet-stream; | |
## | |
# Logging Settings | |
## | |
access_log /var/log/nginx/access.log; | |
error_log /var/log/nginx/error.log; | |
## Timeouts. | |
client_body_timeout 60; | |
client_header_timeout 60; | |
keepalive_timeout 10 10; | |
send_timeout 60; | |
## | |
# Gzip Settings | |
## | |
gzip on; | |
gzip_disable "msie6"; | |
gzip_vary on; | |
gzip_proxied any; | |
gzip_comp_level 1; | |
gzip_buffers 16 8k; | |
gzip_http_version 1.1; | |
gzip_min_length 10; | |
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript image/x-icon application/vnd.ms-fontobject font/opentype application/x-font-ttf; | |
## | |
# Virtual Host Configs | |
## | |
include /etc/nginx/conf.d/*.conf; | |
include /etc/nginx/sites-enabled/*; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
### BEGIN INIT INFO | |
# Provides: nginx | |
# Required-Start: $local_fs $remote_fs $network $syslog $named | |
# Required-Stop: $local_fs $remote_fs $network $syslog $named | |
# 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:/usr/local/nginx/sbin | |
DAEMON=/usr/local/sbin/nginx | |
NAME=nginx | |
DESC=nginx | |
# Include nginx defaults if available | |
if [ -f /etc/default/nginx ]; then | |
. /etc/default/nginx | |
fi | |
test -x $DAEMON || exit 0 | |
set -e | |
. /lib/lsb/init-functions | |
PID=$(awk -F'[ \t;]+' '/[^#]pid/ {print $2}' /etc/nginx/nginx.conf) | |
if [ -z "$PID" ] | |
then | |
PID=/run/nginx.pid | |
fi | |
# Check if the ULIMIT is set in /etc/default/nginx | |
if [ -n "$ULIMIT" ]; then | |
# Set the ulimits | |
ulimit $ULIMIT | |
fi | |
test_nginx_config() { | |
set +e | |
$DAEMON -t $DAEMON_OPTS >/dev/null 2>&1 | |
retvar=$? | |
if [ $retvar -ne 0 ] | |
then | |
log_end_msg $retvar | |
exit $retvar | |
fi | |
set -e | |
} | |
start() { | |
start-stop-daemon --start --quiet --pidfile $PID \ | |
--retry 5 --exec $DAEMON --oknodo -- $DAEMON_OPTS | |
} | |
stop() { | |
start-stop-daemon --stop --quiet --pidfile $PID \ | |
--retry 5 --oknodo --exec $DAEMON | |
} | |
case "$1" in | |
start) | |
log_daemon_msg "Starting $DESC" "$NAME" | |
test_nginx_config | |
start | |
log_end_msg $? | |
;; | |
stop) | |
stop | |
log_daemon_msg "Stopping $DESC" "$NAME" | |
log_end_msg $? | |
;; | |
restart|force-reload) | |
log_daemon_msg "Restarting $DESC" "$NAME" | |
test_nginx_config | |
stop | |
sleep 1 | |
start | |
log_end_msg $? | |
;; | |
reload) | |
log_daemon_msg "Reloading $DESC configuration" "$NAME" | |
test_nginx_config | |
start-stop-daemon --stop --signal HUP --quiet --pidfile $PID \ | |
--oknodo --exec $DAEMON | |
log_end_msg $? | |
;; | |
configtest|testconfig) | |
log_daemon_msg "Testing $DESC configuration" | |
test_nginx_config | |
log_end_msg $? | |
;; | |
status) | |
status_of_proc -p $PID "$DAEMON" nginx | |
;; | |
*) | |
echo "Usage: $NAME {start|stop|restart|reload|force-reload|status|configtest}" >&2 | |
exit 1 | |
;; | |
esac | |
exit 0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
proxy_set_header Host $http_host; | |
proxy_set_header X-Real-IP $remote_addr; | |
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | |
proxy_set_header X-Forwarded-Proto $scheme; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment