Jump to content
Ректор

 nginx как front-end к apache

Recommended Posts

планирую развёртывание  nginx как front-end к apache для сервера который будет на облочном хостинге.

Исходные данные, 1 форум, посещаемость 4000 в сутки, БД 5Гб, 2 форум на развите, пока потолок до 100 пользователей и третий 30 в сутки. суммарное место 30GB

SSD + 1 проц со 100% гарантией 2GB оперативки. (железо растягивается в обе стороны)

Подскажите может правильную статью или процесс установки и настройки сервера и самого кэширования в АЦ. 

Сегодня пробовал по это инструкции, Как установить и настроить LEMP (Linux, Nginx, MySQL, PHP) на сервере с Ubuntu 16.04 – Vscale Community
https://community.vscale.io/hc/ru/community/posts/208340569-Как-установить-и-настроить-LEMP-Linux-Nginx-MySQL-PHP-на-сервере-с-Ubuntu-16-04

но тут нету указаний как осуществить nginx как front-end к apache да и установки апача нет.

наверх ставил phpmyadmin, но так и не вышло, так как пхп 7, а везде

Наконец, вам необходимо включить PHP-модуль mcrypt, на который опирается phpMyAdmin. Так как он устанавливается вместе с phpMyAdmin, то вам нужно просто включить его и перезапустить PHP-процессор. Для этого введите следующие команды:

sudo php5enmod mcrypt
sudo service php5-fpm restart

 и вот на этом затык. Может мне и не нужен админ? но тогда как базы данных через веб админить?

нужно ли настраивать HTTP/2 для сайта в NGINX и правда ли что он работате только в связке с сертификатом?

 

Я не админ и не разработчик, прошу понять и простить, ну и помочь.

Сервак сейчас стоит на ubuntu 16,04 Apache 2. php5.6

1 проц 3гб памяти и педалит жутко.

 

Share this post


Link to post
Share on other sites

В  Ubuntu особо не шарю, так что заранее извиняюсь. Инструкция довольно таки слабая, где практически ничего не объясняется.  Заместо  MySQL лучше поставить Mariadb. В пункте про php по сути ничего не ставится, вам надо самим прописать sudo apt-get install php-mcrypt или что то подобие sudo apt-get install php7-mcrypt (скорее всего подойдет 1 вариант, смотря по инструкции).

Share this post


Link to post
Share on other sites

В интернете же полно статей по этому поводу, все делается легко и просто:

Если PHP установлен, тогда начинаем с апача

# Если нужен апач, пожалуйста - 
apt-get install apache2
# Желательно воткнуть mod_rewrite
a2enmod rewrite
# Если мы отдаем 80 порт Nginx, то у апача его нужно забрать, в /etc/apache2/ports.conf меняем порт на любой, например обычно берут 8080
Listen 127.0.0.1:8080
#Создание конфигурационного файла виртуального хоста
touch /etc/apache2/sites-available/example-apache.conf
# Файл /etc/apache2/sites-available/example-apache.conf необходимо привести к следующему виду:
<VirtualHost 127.0.0.1:8080>
        DocumentRoot /var/www/
        ServerName example.com
        ErrorLog /var/log/apache2/example_error.log
        CustomLog /var/log/apache2/example_access.log common
        <Directory /var/www/>
                Options FollowSymLinks
                AllowOverride All
                #Следующие 2 строки не будут работать в apache >= 2.4, необходимо использовать директиву Require all granted
                #Order allow,deny
                #Allow from all
                Require all granted
        </Directory>
</VirtualHost>
#Включаем созданный виртуальный хост и запускаем apache
a2ensite example-apache.conf && service apache2 start

 

С апачем вроде все, nginx как я понял установлен, тогда приступаем сразу к настройке

# Создание конфигурационного файла виртуального хоста
touch /etc/nginx/sites-available/example_nginx.conf
# Затем файл /etc/nginx/sites-available/example_nginx.conf необходимо привести к следующему виду:
server {
        listen   80;

        root /var/www/;
        index index.php;

        server_name example.com;

        location / {
                try_files $uri $uri/ /index.php;
        }

        location ~ \.php$ {
                proxy_set_header X-Real-IP  $remote_addr;
                proxy_set_header X-Forwarded-For $remote_addr;
                proxy_set_header Host $host;
                proxy_pass http://127.0.0.1:8080;
        }

        location ~ /\. {
                #Запрещаем обращение к скрытым файлам
                deny all;
        }
}
#Включаем созданный виртуальный хост
cd /etc/nginx/sites-enabled/
ln -s ../sites-available/example_nginx.conf example_nginx.conf
service nginx reload

 

Естественно example.com меняем на свой домен.

Вот и все. Постарался оставить комментарии, какие мог, если возникнут вопрос - спрашивай

Edited by ZeRik

Share this post


Link to post
Share on other sites

HTTP/2 работает только на https, а там без сертификата никак (можно получить бесплатный от letsencrypt)

если нет опыта администрирования советую купить панель управления ispmanager

 

Share this post


Link to post
Share on other sites
12 часов назад, ZeRik сказал:

Вот и все. Постарался оставить комментарии, какие мог, если возникнут вопрос - спрашивай

как поставить и включить phpmyadmin?

Share this post


Link to post
Share on other sites
2 часа назад, Sipsb сказал:

поставил. по ip\phpmyadmin

404 Not Found


nginx/1.10.0 (Ubuntu)

по домен\phpmyadmin

Not Found

The requested URL /index.php was not found on this server.


Apache/2.4.18 (Ubuntu) Server at citroen-club.by Port 80

 

Спойлер

 1  apt-get update
    2  apt-get upgrade
    3  apt-get install nginx
    4  systemctl status nginx
    5  nginx -v
    6  sudo apt-get install mysql-server
    7  sudo mysql_secure_installation
    8  sudo systemctl status mysql
    9  mysql --version
   10  sudo apt-get install php php-cli php-fpm php-mysql
   11  sudo nano /etc/php/7.0/fpm/php.ini
   12  sudo systemctl restart php7.0-fpm
   13  php -v
   14  sudo nano /etc/nginx/sites-available/default
   15  sudo systemctl restart nginx
   16  sudo nano /var/www/html/phpinfo.php
   17  sudo systemctl restart nginx
   18  sudo nano /etc/nginx/sites-available/default
   19  sudo systemctl restart nginx
   20  sudo nano /etc/nginx/sites-available/default
   21  sudo systemctl restart nginx
   22  apt-get install apache2
   23  a2enmod rewrite
   24  apache2ctl -M | grep "rewrite_module"
   25  sudo nano /etc/apache2/ports.conf
   26  touch /etc/apache2/sites-available/example-apache.con
   27  sudo nano /etc/apache2/sites-available/example-apache.conf
   28  a2ensite example-apache.conf && service apache2 start
   29  touch /etc/nginx/sites-available/example_nginx.conf
   30  sudo nano /etc/nginx/sites-available/example_nginx.conf
   31  cd /etc/nginx/sites-enabled/
   32  ln -s ../sites-available/example_nginx.conf example_nginx.conf
   33  service nginx reload
   34  sudo nano /etc/nginx/sites-available/example_nginx.conf
   35  cd /etc/nginx/sites-enabled/
   36  service nginx reload
   37  a2ensite example-apache.conf && service apache2 start
   38  service nginx reload
   39  sudo apt-get install phpmyadmin
   40  sudo apt-get install php-mbstring php-gettext
   41  sudo phpenmod mcrypt
   42  sudo phpenmod mbstring
   43  sudo systemctl restart apache2
   47  sudo systemctl restart nginx
 

 

Share this post


Link to post
Share on other sites

где ошибся?

 1  apt-get update
    2  apt-get upgrade
    3  apt-get install nginx
    4  systemctl status nginx
    5  nginx -v
    6  sudo apt-get install mysql-server
    7  sudo mysql_secure_installation
    8  sudo systemctl status mysql
    9  mysql --version
   10  sudo apt-get install php php-cli php-fpm php-mysql
   11  sudo nano /etc/php/7.0/fpm/php.ini
   12  sudo systemctl restart php7.0-fpm
   13  php -v
   14  sudo nano /etc/nginx/sites-available/default
   15  sudo systemctl restart nginx
   16  sudo nano /var/www/html/phpinfo.php
   17  sudo systemctl restart nginx
   18  sudo nano /etc/nginx/sites-available/default
   19  sudo systemctl restart nginx
   20  sudo nano /etc/nginx/sites-available/default
   21  sudo systemctl restart nginx
   22  apt-get install apache2
   23  a2enmod rewrite
   24  apache2ctl -M | grep "rewrite_module"
   25  sudo nano /etc/apache2/ports.conf
   26  touch /etc/apache2/sites-available/example-apache.con
   27  sudo nano /etc/apache2/sites-available/example-apache.conf
   28  a2ensite example-apache.conf && service apache2 start
   29  touch /etc/nginx/sites-available/example_nginx.conf
   30  sudo nano /etc/nginx/sites-available/example_nginx.conf
   31  cd /etc/nginx/sites-enabled/
   32  ln -s ../sites-available/example_nginx.conf example_nginx.conf
   33  service nginx reload
   34  sudo nano /etc/nginx/sites-available/example_nginx.conf
   35  cd /etc/nginx/sites-enabled/
   36  service nginx reload
   37  a2ensite example-apache.conf && service apache2 start
   38  service nginx reload
   39  sudo apt-get install phpmyadmin
   40  sudo apt-get install php-mbstring php-gettext
   41  sudo phpenmod mcrypt
   42  sudo phpenmod mbstring
   43  sudo systemctl restart apache2
   47  sudo systemctl restart nginx

Share this post


Link to post
Share on other sites
В 01/24/2017 в 08:51, sanello сказал:

купить панель управления ispmanager

 

на некоторых хостингах пихают за бесплатно

Что мешает запихнуть все на один nginx, если уж не CGI

Share this post


Link to post
Share on other sites

Был занят немного, если настроить все еще не получается, кидайте данные от SSH в личку, произведу установку и первичную настройку - это не сложно, дело получаса. 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×