
Установка Nginx для FreeBSD из исходников
Идем на официальный сайт nginx и качаем от туда программу с исходниками:
Перейдем в папку /usr/local/src/
# wget http://nginx.org/download/nginx-1.4.2.tar.gz
Распаковываем сам архив:
# tar -xjf nginx-1.4.2.tar.gz
Перейдем в папку с nginx
# cd /usr/local/src/nginx-1.4.2
В папке должен быть файл README, нужно прочитать его чтобы понять с какими параметрами его нужно компилировать, но можно использовать и мой если Вам подходит:
./configure --with-cc-opt="-O2 -fomit-frame-pointer -I /usr/local/include/" \ --without-http_charset_module \ --without-http_userid_module \ --without-http_geo_module \ --without-http_autoindex_module \ --without-http_fastcgi_module \ --with-ld-opt="-L /usr/local/lib"
Собираем nginx выполнив команды:
# make; make install clean
Добавим в rc.conf загрузку и запустим nginx:
# echo 'nginx_enable="YES"' >> /etc/rc.conf # /usr/local/nginx/sbin/nginx
Посмотрим запустился энжинкс (приведу 2 способа как это можно сделать):
# pgrep nginx # ps aux | grep [n]ginx
Если не стартует нужно подправить nginx.conf:
# ee /usr/local/nginx/conf/nginx.conf
Конфигурация nginx.conf:
user www-data www-data; worker_processes 2; error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; access_log /var/log/nginx/access.log; sendfile on; # Установка Nginx для FreeBSD из исходников #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 3; tcp_nodelay off; gzip on; gzip_comp_level 2; gzip_proxied any; gzip_types text/plain text/html text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript; include /etc/nginx/sites-enabled/*; }
Автозагрузка nginx:
Нужно создать скрипт в папке /usr/local/etc/rc.d
#Скрипт по теме "Установка Nginx для FreeBSD из исходников" # nginx.sh #! /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 #Установка Nginx для FreeBSD из исходников # 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/nginx/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/nginx.pid --exec $DAEMON -- $DAEMON_OPTS echo "$NAME." ;; stop) echo -n "Stopping $DESC: " start-stop-daemon --stop --quiet --pidfile /usr/local/nginx/logs/nginx.pid --exec $DAEMON echo "$NAME." ;; restart|force-reload) echo -n "Restarting $DESC: " start-stop-daemon --stop --quiet --pidfile /usr/local/nginx/logs/nginx.pid --exec $DAEMON sleep 1 start-stop-daemon --start --quiet --pidfile /usr/local/nginx/logs/nginx.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/nginx.pid --exec $DAEMON echo "$NAME." ;; *) N=/etc/init.d/$NAME echo "Usage: $N {start|stop|restart|force-reload}" >&2 exit 1 ;; esac exit 0
Ставим на папку ограничения (права):
# chmod 755 /usr/local/etc/rc.d/nginx.sh # /usr/local/etc/rc.d/nginx.sh start
Установка Nginx для FreeBSD из исходников завершено! Если что то не понятно написано, прошу пишите мне и я Вам обязательно помогу.