Розміщення серверів в надійних дата-центрах Європи. Відкрийте хмарний 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