Nginx php kurulumu (centos 6)
Nginx php kurulumu (centos 6)
Nginx php ikilisini bir sunucuda kurmak icin hazirladigim dokumani takip ederek centos sunucularda nginx ve php-fpm kurulumunu gerceklestirebilirsiniz. (more…)
View On WordPress
seen from United States
seen from United States
seen from Australia
seen from China

seen from Malaysia
seen from Malaysia
seen from Netherlands
seen from China
seen from United States
seen from Singapore
seen from Germany
seen from United States
seen from United States
seen from Germany
seen from Bangladesh
seen from Belarus
seen from Malaysia
seen from Germany

seen from United States
seen from United States
Nginx php kurulumu (centos 6)
Nginx php kurulumu (centos 6)
Nginx php ikilisini bir sunucuda kurmak icin hazirladigim dokumani takip ederek centos sunucularda nginx ve php-fpm kurulumunu gerceklestirebilirsiniz. (more…)
View On WordPress
nginx+mysql+php+svftp@centos
В интернете много статей, где для установки Nginx приходится собирать не только сам веб-сервер, приходится собирать практически всё. В данной статье я опишу установку используя репозитории. Для статьи поставил специально виртуальную машину и на неё произвел установку и настройку Nginx в связке с php-fpm. Если соблюдать четко все пункты, думаю у новичков вопросов не возникнет. Удачи.
Установка Nginx:
Имеем установленную систему CentOS-6.2-i386-minimal, установленные пакеты
yum install openssh-server wget
и обновлённую систему:
yum -y update
В системе перед установкой подключенны следующие репозитарии
yum repolist
Добавляем репозитории :
EPEL
rpm -ihv http://mirror.yandex.ru/epel/6/i386/epel-release-6-8.noarch.rpm
Nginx
rpm -ihv http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
Remi
rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
Устанавливаем пакет приоритета оригинальных пакетов RHEL перед пакетами из дополнительных репозиториев:
yum install yum-priorities
Устанавливаем приоритет для репозитория EPEL:
vi /etc/yum.repos.d/epel.repo
Тоже самое для репозиториев Nginx и Remi:
1vi /etc/yum.repos.d/nginx.repo
2vi /etc/yum.repos.d/remi.repo
Устанавливаем MySQL:
yum install mysql mysql-server
Добавляем MySQL в автозагрузку и запускаем:
chkconfig --levels 235 mysqld on
service mysqld start
Настроим MySQL:
/usr/bin/mysql_secure_installation
Система просит нас ввести текущий пароль пользователя root. Нажимаем «Enter», пароля пока как бы нет )))
Вводим новый пароль и отключаем анонимного пользователя (нажимаем «Y» и «Enter»)
Отключаем удаленное подключение для пользователя root (нажимаем «Y» и «Enter»)
Удаляем тестовую базу данных (нажимаем «Y» и «Enter»)
Remove test database and access to it? [Y/n]
Сбрасываем все привилегии для баз (нажимаем «Y» и «Enter»)
Reload privilege tables now? [Y/n]
Устанавливаем Nginx:
yum install nginx
Добавляем в автозагрузку и запускаем:
chkconfig --levels 235 nginx on
service nginx start
Для проверки веб-сервера и дальнейшей настройки временно отключим фаервол, настроим его в самом конце статьи
Вводим адрес (http://192.168.17.241) в web-браузер (У вас скорее всего будет свой )
Устанавливаем PHP и PHP-FPM:
PHP5 c Nginx будут работать через PHP-FPM (PHP — FastCGI Process Manager):
1yum --enablerepo=remi install php-fpm php-cli php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-eaccelerator php-magickwand php-magpierss php-mbstring php-mcrypt php-mssql php-shout php-snmp php-soap php-tidy
переходим в конфигурационный файл PHP:
vi /etc/php.ini
находим строку «cgi.fix_pathinfo = 1», снимаем с нее комментарий и меняем на «cgi.fix_pathinfo = 0» было:
;cgi.fix_pathinfo = 1
стало:
cgi.fix_pathinfo = 0
Подробнее о cgi.fix_pathinfo можно почитать тут: http://www.php.net/manual/ru/ini.core.php#ini.cgi.fix-pathinfo
Добавляем в автозагрузку и запускаем:
chkconfig --levels 235 php-fpm on
/etc/init.d/php-fpm start
Настраиваем Nginx:
Делаем резервную копию конфига
cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.default
Редактируем конфиг Nginx:
vi /etc/nginx/nginx.conf
Ищем в нём строку
include /etc/nginx/conf.d/*.conf;
и меняем на
server {
listen 80;
server_name _;
location / {
root /usr/share/nginx/html;
index index.php index.html index.htm;
}
error_page 404 /404.html;
location = /404.html {
root /usr/share/nginx/html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
root /usr/share/nginx/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Должно получится:
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
server {
listen 80;
server_name _;
location / {
root /usr/share/nginx/html;
index index.php index.html index.htm;
}
error_page 404 /404.html;
location = /404.html {
root /usr/share/nginx/html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
root /usr/share/nginx/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
}
перезапускаем nginx
service nginx restart
проверяем работу php
echo '<?php echo phpinfo(); ?>' > /usr/share/nginx/html/phpinfo.php
Вводим адрес (http://192.168.17.241/phpinfo.php) в web-браузер (У вас скорее всего будет свой ). Если увидете такое окно то все ок, вы правильно настроили.
Настраиваем PHP-FPM:
До этого момента в настройках сервера мы использовали соединение TCP для нашего PHP-FPM пула (127.0.0.1:9000, 127.0.0.1:9001 и так далее). Теперь попробуем избежать расходы на TCP соединение и настроим на использование сокета Unix.
Делаем резервную копию конфига
cp /etc/php-fpm.d/www.conf /etc/php-fpm.d/www.conf.default
Редактируем
vi /etc/php-fpm.d/www.conf
В самом начале ищем
listen = 127.0.0.1:9000
и меняем на
listen = /tmp/php-fpm.sock
Перезагружаем php-fpm
/etc/init.d/php-fpm restart
Теперь настраиваем Nginx
vi /etc/nginx/nginx.conf
В секции
location ~ \.php$ { root /usr/share/nginx/html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
меняем
fastcgi_pass 127.0.0.1:9000;
на
fastcgi_pass unix:/tmp/php-fpm.sock;
Проверяем как ранее.
перезапускаем nginx
service nginx restart
Вводим адрес (http://192.168.17.241/phpinfo.php) в web-браузер.
всё
Настраиваем Iptables для Nginx:
iptables -I INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
iptables-save > /etc/sysconfig/iptables
Возможные ошибки
No input file specified.
Исправляется или правами на папку веб-сервера или правильной настройкой конфига.
via.
+FTP
Install Vsftp:
yum install vsftpd
Disable anonymous ftp:
vi /etc/vsftpd/vsftpd.conf
Change anonymous_enable=YES
anonymous_enable=NO
Then create a user for ftp and set password:
adduser ftpuser
passwd ftpuser
Change permissions for our html folder to ftpuser: (So that you can access and change files from ftp)
chown -hR ftpuser:ftpuser /usr/share/nginx/html/
Then we have to change the default folder for ftpuser linux user, so that when we loggin to ftp we go to the nginx html folder.
usermod -d /usr/share/nginx/html/ ftpuser
Then restart vsftp:
/etc/init.d/vsftpd restart
Then login to ftp with your favrourite software (i like filezilla) you will see your html folder.
via.