Настраиваем хостинг для размещения сайтов
Добавлено: 15 май 2014, 10:00
Задача:
Необходимо разместить сайт
Условия:
Мы весьма ограничены в ресурсах потому надо постараться без излишеств
Реализация:
Планирование, это хорошо, но когда не знаешь что планировать, надо сделать, посмотреть, осознать и переделать. Именно с таким девозом мы и приступим к решению задачи, настраивая всё в дефолте, и только потом оптимизируя те участки, которые будут плохо себя вести
Подготовка:
Так как линукс у меня пока что не загаженный, для установки из репозиториев мне пришлось их сначало подключить
Установка базы данных (mysql):
Пометавшись между разными клонами, решил ставить пока что оригинал - нагрузка планируется не большая, а оригинал себя на таких масштабах неплохо показывает. Так что ставим
Добавим в автозагрузку
и запустим
Сразу поменяем пароль на рута
Ставим PHP
Ну тут всё понятно, без него никуда, но вот только ставить будем его как всё прогрессивное человечество, а именно php-fpm. По мимо него установим и пару самых нужных модулей
Добавляем в автозагрузку
Теперь немного поправим конфиги. Для начала идём в /etc/php.ini ищем cgi.fix_pathinfo и добавляем
Это надо что бы не все пользователи интернета могли закачивать к вам на сервер свои исполняемые файлы )))
Дальше идём в /etc/php-fpm.d/www.conf и вместо listen = 127.0.0.1:9000 впишем
Это позволит нам более быстро работать и экономить ресурсы. Теперь можно и запустить
Установка веб-сервера (nginx)
Решив что я не буду использовать все фишки апача, решил выбрать nginx. Ну и да - экономия ресурсов
Добавим в автозагрузку
Запустим
и проверим что работает (после приглашения надо нажать ESC, Enter)
Конечно этот шаг с запуском и проверкой можно пропустить, но почему то я решил убедиться что дефолтовый конфиг работает, прежде чем двигаться дальше. Итогда проще убериться про программа собралась и запускается, чем исправить конфиг, а потом гадать, где же вы ошиблись, в конфиге, или программа изначально не рабочая.
Приступим к правки конфигов - идём в /etc/nginx/nginx.conf и в секцию http { добавляем
у меня это получилось после keepalive_timeout 65;
/etc/nginx/conf.d и удаляем файл default.conf - я просто не придумал, зачем он мне нужен
Далее в файле virtual.conf описываем свой сервер
а в ней файлик
с таким содержимым
Вроде всё. Перезапустим веб сервер, что бы он перечитал конфиг
По идее уже бы пора ломануться на веб, но у меня же полностью закрытый файрвол, так что сначлао надо открыть 80 порт, а потом пробовать. Как это сделать - ищите в теме про файрвол а тут мы пойдём дальше
Итак, идём на наш сервер браузером и смотрим что получилось
http://ВАШ_ИП_АДРЕС/
Вы должны увидеть страничку параметров php примерно вот такую
Необходимо разместить сайт
Условия:
Мы весьма ограничены в ресурсах потому надо постараться без излишеств
Реализация:
Планирование, это хорошо, но когда не знаешь что планировать, надо сделать, посмотреть, осознать и переделать. Именно с таким девозом мы и приступим к решению задачи, настраивая всё в дефолте, и только потом оптимизируя те участки, которые будут плохо себя вести
Подготовка:
Так как линукс у меня пока что не загаженный, для установки из репозиториев мне пришлось их сначало подключить
Код: Выделить всё
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
Пометавшись между разными клонами, решил ставить пока что оригинал - нагрузка планируется не большая, а оригинал себя на таких масштабах неплохо показывает. Так что ставим
Код: Выделить всё
yum install mysql
Код: Выделить всё
chkconfig mysqld on
Код: Выделить всё
/etc/rc.d/init.d/mysqld start
Код: Выделить всё
mysqladmin -u root password 'НАШ_ПАРОЛЬ'
Ну тут всё понятно, без него никуда, но вот только ставить будем его как всё прогрессивное человечество, а именно php-fpm. По мимо него установим и пару самых нужных модулей
Код: Выделить всё
yum install php-fpm, php-mysql, php-gd
Код: Выделить всё
chkconfig php-fpm on
Код: Выделить всё
cgi.fix_pathinfo=0
Дальше идём в /etc/php-fpm.d/www.conf и вместо listen = 127.0.0.1:9000 впишем
Код: Выделить всё
listen = /tmp/php-fpm.sock
Код: Выделить всё
/etc/rc.d/init.d/php-fpm start
Решив что я не буду использовать все фишки апача, решил выбрать nginx. Ну и да - экономия ресурсов
Код: Выделить всё
yum install nginx
Код: Выделить всё
chkconfig nginx on
Код: Выделить всё
/etc/rc.d/init.d/nginx start
да, телнета, к моему великому изумлению тоже не оказалось и мне пришлось его ставить yum install telnet[root@cz6 sysconfig]# telnet localhost 80
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
^[
<html>
<head><title>400 Bad Request</title></head>
<body bgcolor="white">
<center><h1>400 Bad Request</h1></center>
<hr><center>nginx/1.0.15</center>
</body>
</html>
Connection closed by foreign host.
[root@cz6 sysconfig]#
Конечно этот шаг с запуском и проверкой можно пропустить, но почему то я решил убедиться что дефолтовый конфиг работает, прежде чем двигаться дальше. Итогда проще убериться про программа собралась и запускается, чем исправить конфиг, а потом гадать, где же вы ошиблись, в конфиге, или программа изначально не рабочая.
Приступим к правки конфигов - идём в /etc/nginx/nginx.conf и в секцию http { добавляем
Код: Выделить всё
server_names_hash_bucket_size 64;
/etc/nginx/conf.d и удаляем файл default.conf - я просто не придумал, зачем он мне нужен
Далее в файле virtual.conf описываем свой сервер
Ну понятно что имена и пути надо заменить на свои или по вкусу. Я же продолжу и создам директориию, которую тут описалserver {
listen 80;
root /home/www/cz6/www;
access_log /var/log/nginx/www.access.log;
server_name cz6.ru http://www.cz6.ru;
location / {
index index.php index.html index.htm;
}
location ~ \.php$ {
fastcgi_pass unix:/tmp/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Код: Выделить всё
mkdir /home/www/cz6/www
Код: Выделить всё
touch /home/www/cz6/www/index.php
Изменим права на всё это хозяйство (пользователь и группа заполненны в конфиге php)<?php
phpinfo();
?>
Код: Выделить всё
chown -R apache:apache /home/www
Код: Выделить всё
[root@cz6 conf.d]# service nginx restart
Stopping nginx: [ OK ]
Starting nginx: [ OK ]
[root@cz6 conf.d]#
Итак, идём на наш сервер браузером и смотрим что получилось
http://ВАШ_ИП_АДРЕС/
Вы должны увидеть страничку параметров php примерно вот такую