Встановлення та налаштування NGINX з PHP FastCGI в CentOS
Як відомо, найкращий спосіб економії оперативної пам'яті на VPS для хостингу своїх сайтів - це встановлення NGINX з FastCGI FPM. Розглянемо, як це можна зробити на VPS з CentOS 5, використовуючи загальнодоступні репозиторії CentOS 5 для простого оновлення софту.
Використаємо для цього репозиторій CentALT. Отже, почнемо:
1. Оновлюємо систему на сервері:
yum -y update
2. Встановлюємо CentALT репозиторій:
rpm -ihv http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
rpm -ihv http://centos.alt.ru/repository/centos/5/i386/centalt-release-5-3.noarch.rpm
yum -y update
3. Встановлюємо NGINX, PHP-FPM, vsftpd, phpMyAdmin, mysqld:
yum install nginx php-fpm php-gd php-mysql mysql-server vsftpd
4. Створюємо користувача на vps, від якого будемо заливати файли по ftp на сервер. Додаємо в /etc/shells шелл /bin/date:
echo "/bin/date" >>/etc/shel
Визначимо id користувача nginx:
id nginx
Визначимо id користувача nginx:
id nginx
uid=102(nginx) gid=102(nginx) groups=102(nginx)
Нас цікавить uid. Таким чином, створюємо користувача:
useradd -u 102 -o -s /bin/date -p пароль ftpuser
ftpuser - логін ftp-користувача, пароль - бажаний пароль.
5. Встановимо пароль root mysql-серверу, так як будемо використовувати phpMyAdmin з обмеженням по паролю користувача mysql:
chkconfig mysqld on
service mysqld start
mysql_secure_installation
Там пишемо два рази бажаний пароль root mysql, з усім погоджуємося.
6. Налаштовуємо vsftpd:
chkconfig vsftpd on
vi /etc/vsftpd/vsftpd.conf
Редагуємо там:
anonymous_enable=YES на anonymous_enable=NO
Це заборонить анонімний ftp.
Додаємо:
chroot_local_user=YES
Це заборонить ftp-користувачу заходити нижче домашньої директорії.
Запускаємо ftp сервер:
service vsftpd start
7. Налаштовуємо PHP-FPM:
chkconfig php-fpm on
vi /etc/php-fpm.conf
Там замінюємо 2 рядки:
<!–- <value name=”user”>nobody</value> -–>
<!–- <value name=”group”>nobody</value> -–>
На:
<value name=”user”>nginx</value>
<value name=”group”>nginx</value>
Запускаємо php-fpm:
service php-fpm start
8. Налаштовуємо nginx:
chkconfig nginx on
vi /etc/nginx/nginx.conf
Туди пишемо:
user nginx;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
server {
listen 80;
server_name site.name www.site.name;
location / {
root /home/ftpuser/site.name;
index index.php index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/local/www/nginx-dist;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param script_FILENAME /home/ftpuser/site.name$fastcgi_script_name;
include fastcgi_params;
}
Тут в worker_processes пишемо кількість cpu в системі (у нас 1), site.name - це ім'я сайту, який ми будемо хостити на сервері, ftpuser - користувач ftp.
Запускаємо nginx:
service nginx start
9. Робимо так, щоб phpMyAdmin був нам доступний за адресою http://site.name/myadmin:
ln -s /usr/share/phpMyAdmin /home/ftpuser/site.name/myadmin
10. Після цього заходимо на створений нами ftp, використовуючи дані, які ми прописали в пункті 4, робимо директорію site.name і заливаємо в неї контент сайту. Також, використовуючи дані доступу root до mysql, за допомогою phpMyAdmin, створюємо і заливаємо базу даних сайту.
Останні новини
Знижка на всі домени України до 21.10.2022!
Шановні користувачі! Цілий тиждень у нас знижка -15% на реєстрацію всіх українських доменів за промокодом defendersday22!Подорожчання низки українських доменів UA ccTLD!
Шановні користувачі! З 1 жовтня 2022 року на нас чекає подорожчання низки українських доменів - in.ua, od.ua, mk.ua!Важливі зміни у роботі низки українських доменів!
Шановні користувачі! У деяких українських доменних зонах збільшено термін періоду Redemption з 30 до 60 днів.Подорожчання виділених IP-адрес (IPv4) у Німеччині!
Шановні користувачі! У Німеччині істотно подорожчали додаткові виділені IP-адреси (IPv4) та IP-мережі.Останні записи з блогу