Установка nginx з вихідного коду на сервері centos 6

Розміщення серверів в надійних дата-центрах Європи. Відкрийте хмарний VPS / VDS сервер на швидких SSD за 1 хвилину!

Кращий хостинг:
- захистить дані від несанкціонованого доступу в охоронюваному європейському ЦОДі
- прийме оплату хоч в bitcoin.
- дозволить поставити свій дистрибутив

- захист від DDos-атак
- безкоштовний backup
- Uptime 99,9999%
- ЦОД - TIER III
- провайдер - TIER I

Підтримаємо російською мовою 24/7/365 Працюємо з юрособами і фізособами. Вам прямо зараз потрібно 24 ядра і 72 Gb RAM. Будь ласка!

Наші вигідні тарифи доведуть, що дешевий хостинг ви ще не знали!

Хвилинна справа: виберіть конфігурацію, оплатіть і CMS на VPS готова.
Money Back - 30 днів!

Банківськими картами, електронною валютою, через термінали Qiwi, Webmoney, PayPal, Новоплат і ін.

Задайте питання в службу підтримки 24/7/365

Знайдіть відповіді в нашій базі і познайомтеся з рекомендаціями

Nginx (вимовляється «engine x») - це популярний зворотний проксі і HTTP-сервер, а також поштовий проксі-сервер.

Відкритий веб-сервер Nginx використовує для обслуговування клієнтів механізм epoll (на відміну від Apache, пул якого може складатися з процесів і потоків одночасно). Nginx користується популярністю завдяки своїй швидкості.

вимоги

Для виконання даного керівництва знадобиться віртуальний виділений сервер з доменним ім'ям.

Примітка. в якості домену в статті використовується example.com.

Крім того, потрібно встановити пакунки для побудови початкових кодів, які містять бібліотеки для розробки і компілятори вихідного коду.

yum -y install gcc gcc-c ++ make zlib-devel pcre-devel openssl-devel

Створіть каталог для зберігання вихідного коду:

mkdir -p src cd src

Тепер все підготовлено до виконання інструкцій даної статті.

Навіщо збирати програми з початкових кодів?

Компілювати вихідний код потрібно, щоб:

  • Оновити програму до останньої доступної версії відразу після її виходу.
  • Усунути уразливості в системі безпеки.
  • Виправити відомі помилки, що впливають на сервіс.
  • Змінити деякі значення за замовчуванням (наприклад, ім'я сервера).
  • Застосувати патчі для виправлення виявлених помилок.

Якщо ж ПО сервера залежить від більш старих версій програм, збирати програму з вихідних необов'язково.

Примітка. менеджери пакетів не відповідають за оновлення двійкові програми тому їх необхідно оновлювати до останньої доступної версії самостійно.

Модулі Nginx і сторонні модулі

Nginx має безліч модулів. за допомогою яких можна розширювати функціональність VPS.

Серед найбільш популярних сторонніх модулів для Nginx слід зазначити:

Збірка Nginx з вихідного коду

Завантаження початкових кодів

Знайдіть номер поточної версії Nginx на сайті проекту.

Щоб завантажити код, використовуйте команди:

Підготовка вихідного коду

Перш ніж приступити до компіляції, потрібно задати базові параметри nginx.

Повний список доступних параметрів можна знайти, набравши:

Нижче наведено список основних парамтеров, переобумовленої стандартні системні шляху в / etc / щоб уникнути помилок. Параметри user і group використовуються для запуску робочих процесів nginx без привілеїв.

--user
--group
--prefix
--sbin-path
--conf-path
--pid-path
--lock-path
--error-log-path
--http-log-path

Приклад конфігурації коду

cd nginx
./ Configure \
--user = nginx \
--group = nginx \
--prefix = / etc / nginx \
--sbin-path = / usr / sbin / nginx \
--conf-path = / etc / nginx / nginx.conf \
--pid-path = / var / run / nginx.pid \
--lock-path = / var / run / nginx.lock \
--error-log-path = / var / log / nginx / error.log \
--http-log-path = / var / log / nginx / access.log \
--with-http_gzip_static_module \
--with-http_stub_status_module \
--with-http_ssl_module \
--with-pcre \
--with-file-aio \
--with-http_realip_module \
--without-http_scgi_module \
--without-http_uwsgi_module \
--without-http_fastcgi_module

Збірка коду Nginx

Налаштувавши код згідно з вимогами, запустіть:

make
make install

запуск nginx

Додайте в систему користувача nginx:

useradd -r nginx

Тепер потрібно налаштувати автоматичний запуск файлу /etc/init.d/nginx при завантаженні системи:

#! / Bin / sh
#
# Nginx - this script starts and stops the nginx daemin
#
# Chkconfig: - 85 15
# Description: Nginx is an HTTP (S) server, HTTP (S) reverse \
# Proxy and IMAP / POP3 proxy server
# Processname: nginx
# Config: /etc/nginx/nginx.conf
# Pidfile: /var/run/nginx.pid
# User: nginx
# 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 / sbin / nginx"
prog = $ (basename $ nginx)
NGINX_CONF_FILE = "/ etc / nginx / nginx.conf"
lockfile = / var / run / nginx.lock
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"
exit 2

Примітка. при бажанні цей код можна отримати так:

Потрібно зробити цей файл виконуваним, щоб мати можливість використовувати його як сервіс:

chmod + x /etc/init.d/nginx

Тепер налаштуйте автоматичне завантаження сервісу при запуску системи:

chkconfig --add nginx
chkconfig --level 345 nginx on

У файлі /etc/nginx/nginx.conf потрібно збільшити параметри types_hash_bucket_size і server_names_hash_bucket_size.

http include mime.types;
default_type application / octet-stream;
# Add the below 2 lines under http around line 20
types_hash_bucket_size 64;
server_names_hash_bucket_size 128;

Запустіть сервер (VPS буде запущений на порт 80).

service nginx start

завершальні дії

Відвідайте доменне ім'я або IP в браузері. На екрані з'явиться:

Welcome to nginx!

Готово! Збірка nginx завершена.

підтримка nginx

При внесенні будь-яких змін в бінарні файли nginx потрібно перезавантажувати веб-сервер:

service nginx restart

Змінивши конфігурації у файлі nginx.conf, використовуйте команду:

service nginx reload

Оновлення веб-сервера nginx

Щоб оновити nginx до останньої версії, відвідайте офіційний сайт проекту.

Запустіть наступні команди, щоб отримати код:

ssh [email protected]
cd

Схожі статті

Copyright © 2024