Сейчас 127 заметки.
Установка и настройка веб-сервера LEMP на CentOS
Это руководство предоставляет пошаговую инструкцию по установке полнофункционального стека 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 { # [...] include /etc/nginx/sites-enabled/*; # [...] }
В директории 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 #!/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<pre> '''Установка MySQL''' СУБД MySQL является популярнейшей СУБД с открытым кодом. Установить MYSQL можно командой: <pre>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 закончена.