• Уважаемый посетитель! Рады приветствовать тебя на обновленном форуме. Большая часть рекламы(90%) видна только гостям. После регистрации она убирается. Спасибо за внимание.

Руководство Установка Nginx, Mysql, PHP на CentOS 7

akhomlyuk

/etc/shadow
Сообщения
244
Симпатии
47
#1
Шаг первый: подготовка и установка Nginx

Первым делом установим EPEL репозиторий
[mow="bash"]sudo yum update
sudo yum install epel-release
Код:
Далее ставим веб сервер
[mow="bash"]sudo yum install nginx[code]
Запускаем
[mow="bash"]sudo systemctl start nginx[code]
Проверяем работу веб сервера, в браузере переходим по адресу http://[B][I]ваш_домен_или_IP[/I][/B]/
Узнать IP адрес можно выполнив команду:
[mow="bash"]curl http://icanhazip.com[code]
[B]cURL [/B]должен быть установлен, если нет то ставим
[mow="bash"]sudo yum install curl[code]
[GALLERY=media, 2][/GALLERY]
Если видим данное сообщение, значит веб сервер включен и работает.
Добавим в автозагрузку
[mow="bash"]sudo systemctl enable nginx[code]
[SIZE=6]Шаг второй: установка и настройка [B]MySQL [/B]([B]MariaDB[/B])[/SIZE]

Устанавливаем [B]СУБД[/B], в нашем случае это [B]MariaDB[/B], форк [B]MySQL [/B]разрабатываемый сообществом.
[mow="bash"]sudo yum install mariadb-server mariadb
sudo systemctl start mariadb[code]
Устанавливаем root пароль для доступа к mysql
[mow="bash"]sudo mysql_secure_installation[code]
[QUOTE]mysql_secure_installation prompts:
Enter current password for root (enter for none):
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

New password: [COLOR=#ff0000]password[/COLOR]
Re-enter new password: [COLOR=#ff0000]password[/COLOR]
Password updated successfully!
Reloading privilege tables..
... Success![/QUOTE]
Добавляем в автозагрузку:
[mow="bash"]sudo systemctl enable mariadb[code]
[SIZE=6]Шаг третий: установка [B]PHP [/B][/SIZE]

[mow="bash"]sudo yum install php php-mysql php-fpm[code]
Настраиваем PHP:
[mow="bash"]sudo nano /etc/php.ini[code]
Ищем строку  (Ctrl + W)
[COLOR=#ff0000];[/COLOR][B]cgi.fix_pathinfo[/B]=[COLOR=#ff0000]1[/COLOR] и меняем на [B]cgi.fix_pathinfo[/B]=[COLOR=#ff0000]0[/COLOR], не забываем удалить в начале строки ;
Или так, чтобы точно не ошибиться:
[mow="bash"]sed -i "s/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/" /etc/php.ini[code]
Далее настраиваем php-fpm
[mow="bash"]nano /etc/php-fpm.d/www.conf[code]
Ищем в самом начале что-то типа [B]listen =[/B] [I]127.0.0.1:9000[/I] и меняем на [B]listen =[/B] [COLOR=#ff0000]/var/run/php-fpm/php-fpm.sock[/COLOR]
В этом же конфиге ищем и меняем на то, что указано на скриншоте
[GALLERY=media, 3][/GALLERY]
Запускаем, включаем автозагрузку
[mow="bash"]sudo systemctl start php-fpm
sudo systemctl enable php-fpm[code]
Идем дальше
[mow="bash"]nano /etc/nginx/conf.d/default.conf[code]
Приводим конфиг к виду:
[QUOTE]
server {
listen 80;
server_name [COLOR=#ff0000]domain_name_or_IP[/COLOR];

# note that these lines are originally from the "location /" block
[COLOR=#ff0000] root /usr/share/nginx/html;[/COLOR]
index [COLOR=#ff0000]index.php[/COLOR] index.html index.htm;

location / {
[COLOR=#ff0000] try_files $uri $uri/ =404;[/COLOR]
}
[COLOR=#ff0000] error_page 404 /404.html;[/COLOR]
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}

[COLOR=#ff0000] location ~ \.php$ {
 try_files $uri =404;
 fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
 fastcgi_index index.php;
 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
 include fastcgi_params;
 }[/COLOR]
}
[/QUOTE]
Рестартуем сервисы:
[mow="bash"]sudo systemctl restart nginx && sudo systemctl restart php-fpm[code]
И проверяем работоспособность, создаем php файл в корне нашего сайта.
[mow="bash"]sudo nano /usr/share/nginx/html/info.php[code]
И добавляем в него строку
[mow="php"]<?php phpinfo(); ?>[code]
Переходим в браузере по адресу http://[B][I]ваш_домен_или_IP[/I][/B]/info.php
Если видим информацию о PHP, значит все получилось! Поздравляю!
[GALLERY=media, 4][/GALLERY]
[MEDIA=youtube]xD5HUMJvofs[/MEDIA]
 
Последнее редактирование:

Begemot

Сообщения
33
Симпатии
5
#2
Открыл 80 порт, перехожу по своему IP - не работает.

Bash:
[root@homews ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[code]

[code=bash]
[root@homews ~]# netstat -tulpn | grep nginx
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      36541/nginx: master
tcp6       0      0 :::80                   :::*                    LISTEN      36541/nginx: master
[root@homews ~]#
[code]

Не первый раз пробую.
 

akhomlyuk

/etc/shadow
Сообщения
244
Симпатии
47
#3
Открыл 80 порт, перехожу по своему IP - не работает.

Bash:
[root@homews ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[code]

[code=bash]
[root@homews ~]# netstat -tulpn | grep nginx
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      36541/nginx: master
tcp6       0      0 :::80                   :::*                    LISTEN      36541/nginx: master
[root@homews ~]#
[code]

Не первый раз пробую.[/QUOTE]
Так вот,
[ATTACH=full]3932[/ATTACH]
 

Begemot

Сообщения
33
Симпатии
5
#6
[MOW=Html]
[root@homews ~]# curl http://127.0.0.1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>Test Page for the Nginx HTTP Server on Fedora</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<style type="text/css">
/*<![CDATA[*/
body {
background-color: #fff;
color: #000;
font-size: 0.9em;
font-family: sans-serif,helvetica;
margin: 0;
padding: 0;
}
:link {
color: #c00;
}
:visited {
color: #c00;
}
a:hover {
color: #f50;
}
h1 {
text-align: center;
margin: 0;
padding: 0.6em 2em 0.4em;
background-color: #294172;
color: #fff;
font-weight: normal;
font-size: 1.75em;
border-bottom: 2px solid #000;
}
h1 strong {
font-weight: bold;
font-size: 1.5em;
}
h2 {
text-align: center;
background-color: #3C6EB4;
font-size: 1.1em;
font-weight: bold;
color: #fff;
margin: 0;
padding: 0.5em;
border-bottom: 2px solid #294172;
}
hr {
display: none;
}
.content {
padding: 1em 5em;
}
.alert {
border: 2px solid #000;
}

img {
border: 2px solid #fff;
padding: 2px;
margin: 2px;
}
a:hover img {
border: 2px solid #294172;
}
.logos {
margin: 1em;
text-align: center;
}
/*]]>*/
</style>
</head>

<body>
<h1>Welcome to <strong>nginx</strong> on Fedora!</h1>

<div class="content">
<p>This page is used to test the proper operation of the
<strong>nginx</strong> HTTP server after it has been
installed. If you can read this page, it means that the
web server installed at this site is working
properly.</p>

<div class="alert">
<h2>Website Administrator</h2>
<div class="content">
<p>This is the default <tt>index.html</tt> page that
is distributed with <strong>nginx</strong> on
Fedora. It is located in
<tt>/usr/share/nginx/html</tt>.</p>

<p>You should now put your content in a location of
your choice and edit the <tt>root</tt> configuration
directive in the <strong>nginx</strong>
configuration file
<tt>/etc/nginx/nginx.conf</tt>.</p>

</div>
</div>

<div class="logos">
<a href="http://nginx.net/"><img
src="nginx-logo.png"
alt="[ Powered by nginx ]"
width="121" height="32" /></a>

<a href="http://fedoraproject.org/"><img
src="poweredby.png"
alt="[ Powered by Fedora ]"
width="88" height="31" /></a>
</div>
</div>
</body>
</html>
[root@homews ~]#
Код:
 

akhomlyuk

/etc/shadow
Сообщения
244
Симпатии
47
#7
[MOW=Html]
[root@homews ~]# curl http://127.0.0.1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>Test Page for the Nginx HTTP Server on Fedora</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<style type="text/css">
/*<![CDATA[*/
body {
background-color: #fff;
color: #000;
font-size: 0.9em;
font-family: sans-serif,helvetica;
margin: 0;
padding: 0;
}
:link {
color: #c00;
}
:visited {
color: #c00;
}
a:hover {
color: #f50;
}
h1 {
text-align: center;
margin: 0;
padding: 0.6em 2em 0.4em;
background-color: #294172;
color: #fff;
font-weight: normal;
font-size: 1.75em;
border-bottom: 2px solid #000;
}
h1 strong {
font-weight: bold;
font-size: 1.5em;
}
h2 {
text-align: center;
background-color: #3C6EB4;
font-size: 1.1em;
font-weight: bold;
color: #fff;
margin: 0;
padding: 0.5em;
border-bottom: 2px solid #294172;
}
hr {
display: none;
}
.content {
padding: 1em 5em;
}
.alert {
border: 2px solid #000;
}

img {
border: 2px solid #fff;
padding: 2px;
margin: 2px;
}
a:hover img {
border: 2px solid #294172;
}
.logos {
margin: 1em;
text-align: center;
}
/*]]>*/
</style>
</head>

<body>
<h1>Welcome to <strong>nginx</strong> on Fedora!</h1>

<div class="content">
<p>This page is used to test the proper operation of the
<strong>nginx</strong> HTTP server after it has been
installed. If you can read this page, it means that the
web server installed at this site is working
properly.</p>

<div class="alert">
<h2>Website Administrator</h2>
<div class="content">
<p>This is the default <tt>index.html</tt> page that
is distributed with <strong>nginx</strong> on
Fedora. It is located in
<tt>/usr/share/nginx/html</tt>.</p>

<p>You should now put your content in a location of
your choice and edit the <tt>root</tt> configuration
directive in the <strong>nginx</strong>
configuration file
<tt>/etc/nginx/nginx.conf</tt>.</p>

</div>
</div>

<div class="logos">
<a href="http://nginx.net/"><img
src="nginx-logo.png"
alt="[ Powered by nginx ]"
width="121" height="32" /></a>

<a href="http://fedoraproject.org/"><img
src="poweredby.png"
alt="[ Powered by Fedora ]"
width="88" height="31" /></a>
</div>
</div>
</body>
</html>
[root@homews ~]#
Код:
[/QUOTE]
Ну, тестовая страница nginx, значит все работает ))
 

Begemot

Сообщения
33
Симпатии
5
#9
Какие репы подключить, чтоб изначально не самое старье ставилось, а-то nginx 1.10.x, php 5.4.16 и т.д.
 

akhomlyuk

/etc/shadow
Сообщения
244
Симпатии
47
#10
Какие репы подключить, чтоб изначально не самое старье ставилось, а-то nginx 1.10.x, php 5.4.16 и т.д.
php 5.6
Bash:
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
[code]
[B]Nginx[/B]
[INLINE]nano /etc/yum.repos.d/nginx.repo[/INLINE]
Содержимое
[code=bash][nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
[code]
 

Begemot

Сообщения
33
Симпатии
5
#11
Я вот обновляю MariaDB, после обновления в /etc/my.cnf такая белиберда:

Bash:
#
# This group is read both both by the client and the server
# use it for options that affect everything
#
[client-server]

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d
[code]

Посмотрел конфиги по тому пути - ничего похожего на обычный конфиг my.cnf.
 

Begemot

Сообщения
33
Симпатии
5
#13
[icode]/etc/my.cnf.d[/INLINE]

Вопрос, куда настройки писать, вроде:

Bash:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0

skip-external-locking
key_buffer_size = 256M
max_allowed_packet = 256M
table_open_cache = 256
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 16M
thread_concurrency = 8

#innodb_use_native_aio = 0
innodb_file_per_table

max_connections=200
max_user_connections=50
wait_timeout=60
interactive_timeout=50
long_query_time=5

#slow_query_log=1
#slow_query_log_file=/var/log/mysql-slow-queries.log


[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d
[code]

Хотя, я уже сам понял, что туплю :)
 

Begemot

Сообщения
33
Симпатии
5
#16
Создаю каталоги /web/domains/ и там папки с доменами, делаю владельцем nginx - все летает.
Создаю каталоги /home/username/web/ и там папки с доменами, делаю владельцем nginx - не взлетает.

Что за фигня?
 

akhomlyuk

/etc/shadow
Сообщения
244
Симпатии
47
#17
Begemot, а этих каталогов кто владелец ? /home/username/
chown -R nginx:nginx /home/username/ ???????????
Проверь каждый каталог от корня да и все, чудес не бывает.
Можно еще от самого nginx проверить.
ls -ld /home/
ls -ld /home/username/ и т.д.
Удачи :D
 

Begemot

Сообщения
33
Симпатии
5
#20
akhomlyuk, да FZ, вроде, кажет владельца и группу или что-то типа того. В любом случае, через PuTTY проверю.