Сейчас 127 заметки.

Установка и настройка веб-сервера LEMP на CentOS

Материал из ЗАметки
Версия от 17:05, 15 апреля 2012; Admin (обсуждение | вклад) (Новая страница: «Это руководство предоставляет пошаговую инструкцию по установке полнофункционального ...»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)

Это руководство предоставляет пошаговую инструкцию по установке полнофункционального стека LEMP на CentOS. Вы получите инструкции по установке Nginx, MySQL и PHP.

Инструкции которые содержатся в этом руководстве протестированы на платформе Clodo.ru.

Это руководство предполагает, что вы вошли в систему как суперпользователь root.

Перед началом установки вам нужно обновить вашу систему.

yum update

Установка Nginx:

yum update yum install nginx

Для того, чтобы запустить сервер выполните команду:

/etc/init.d/nginx start

Чтобы добавить nginx в список сервисов, стартующих при запуске оперциаонной системы, выполните следующий цикл команд:

chkconfig --add nginx chkconfig nginx on Настройка виртуальных хостов (virtual hosts) в Nginx

По-умолчанию, при установке Nginx, основной файл конфигурации расположен по следующему пути:

/etc/nginx/conf/nginx.conf

Есть несколько вариантов настройки Nginx. Независимо от выбранного подхода к конфигурации, все настройки, касающиеся виртуальных хостов, собраны в блоке конфигурации сервера, заключенных в блок http в файле nginx.conf.

Пример настройки сервера: server { listen 80; server_name www.yoursite.com yoursite.com; access_log /srv/http/yoursite.com/logs/access.log; error_log /srv/http/yoursite.com/logs/error.log;

location / { root /srv/http/yoursite.com/public; index index.html index.htm; } }

Создайте директории, указанные в конфигурации сервера:

mkdir -p /srv/http/example.com/public mkdir -p /srv/http/example.com/logs

Добавлять множество блоков server в секцию http может быть затруднительным для чтения и правки. Вы можете использовать систему настройки, как в Debian-based системах. Создайте папки sites-available и sites-enabled и добавьте строку добавления этих папок в nginx.conf: http {

  1. [...]

include /etc/nginx/sites-enabled/*;

  1. [...]

}

В директории sites-available нужно сохранить файлы с описанием параметров виртуальных хостов, и создать символическую ссылку на файл в папке sites-enabled.

Чтобы изменения вступили в силу, вам нужно перезапустить nginx. Перед перезапуском, рекомендуется выполнить проверку конфигурации. Это можно сделать командой “nginx -t”. Перезапустить сервер можно командой:

/etc/init.d/nginx restart Установка PHP и FastCGI

Если ваша web-страница содержит PHP-код, вам нужно установить SpawnCGI для обработки PHP. Следующая последовательность команд выполнит установку пакетов, необходимых для обработки PHP-кода.

yum install spawn-fcgi �

Создайте скрипт для автозапуска php_cgi при запуске системы:

vi /etc/init.d/php_cgi

  1. !/bin/sh

. /etc/rc.d/init.d/functions . /etc/sysconfig/network

[ "$NETWORKING" = "no" ] && exit 0

spawnfcgi="/usr/bin/spawn-fcgi" php_cgi="/usr/bin/php-cgi" prog=$(basename $php_cgi) server_ip=127.0.0.1 server_port=9000 server_user=nginx server_group=nginx server_childs=5 pidfile="/var/run/php_cgi.pid"

[ -f /etc/sysconfig/phpfastcgi ] && . /etc/sysconfig/phpfastcgi

start() { [ -x $php_cgi ] || exit 1 [ -x $spawnfcgi ] || exit 2 echo -n $"Starting $prog: " daemon $spawnfcgi -a $ -p $ -u $ -g $ -P $ -C $ -f $ retval=$? echo return $retval }

stop() { echo -n $"Stopping $prog: " killproc -p $ $prog -QUIT retval=$? echo [ -f $ ] && /bin/rm -f $ return $retval }

restart(){ stop sleep 2 start }

rh_status(){ status -p $ $prog }

case "$1" in start) start;; stop) stop;; restart) restart;; status) rh_status;;

  • )

echo $"Usage: $0 {start|stop|restart|status}" exit 3 esac

Сделайте скрипт исполняемым:

chmod a+x /etc/init.d/php_cgi

Запустите php_cgi:

service php_cgi start

Проверьте его работоспособность:

netstat -tlnp | grep :9000

Теперь отредактируйте конфигурационный файл nginx и запишите в нем настройка для php_cgi: location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name; include fastcgi_params; }

Проверьте правильность настройки nginx командой:

nginx -t

пример успешного результата:

nginx: the configuration file /etc/nginx/conf/nginx.conf syntax is ok nginx: configuration file /etc/nginx/conf/nginx.conf test is successful

Запустите nginx:

service nginx start Установка MySQL

СУБД MySQL является популярнейшей СУБД с открытым кодом.

Установить MYSQL можно командой:

yum install mysql-server php-mysql

Запуск демона MYSQL производится командой:

/etc/rc.d/init.d/mysqld start

Добавить MySQL в список демонов для автоматического запуска при загрузке системы.

Для того, чтобы выполнить базовую настройка MySQL выполните команду:

mysql_secure_installation

Чтобы подключиться к MySQL от пользователя root выполните команду:

mysql -u root -p

Введите пароль от пользователя root. Теперь вы можете создать новых пользователей для работы с MySQL. Пример создания новый БД и пользователя для работы с ней.

CREATE DATABASE userdatabase; CREATE USER 'user' IDENTIFIED BY 'i4j89UJd'; GRANT ALL PRIVILEGES ON userdatabse.* TO 'user'; exit;

Теперь можно передать данные пользователя user приложению, для использования БД userdatabase. Также, для того, чтобы PHP функции могли обратиться к MySQL, перезапустите службу php_cgi:

/etc/init.d/php_cgi restart

Настройка LEMP закончена.