frame

Sveiki apsilankę!

Jei forume lankaisi pirmą kartą, kviečiame registruotis ir prisijungti prie diskusijų.

Prisijungti Registruotis

Nginx ir Apache proxy sistemos diegimas Ubuntu aplinkoje

IV_VygandasSIV_VygandasS Serverių ekspertas (-ė)
edited spalio 15 Į Web serveriai
Šioje pamokoje pateikiame instrukcijas Nginx naudojamo kaip pirminio web serverio proxy Apache serveriui diegimui Ubuntu 12.04 aplinkoje.

Tiek Apache, tiek Nginx yra galingi ir našūs web serveriai. Tačiau abu web serveriai turi savų minusų - Apache serveris yra reiklus atminties resursams, o Nginx serveris nėra toks našus pateikiant dinaminį turinį. Dėl to esant poreikiui yra galimybė apjungti šių web serverių funkcionalumą.

1. Atnaujiname sistemą:
apt-get update
Nginx diegimas ir konfigūravimas

2. Įdiegiame Nginx:
apt-get install nginx
3. Konfigūruojame Nginx:

Sukuriame ir redaguojame pageidaujamo domeno konfigūracinį failą:
nano /etc/nginx/sites-available/domenas
Failo turinyje nurodome šią konfigūraciją:
server {
        listen   80; 

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

        server_name domenas.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 ~ /\.ht {
                deny all;
        }
}
4. Aktyvuojame virtualų hostą:
ln -s /etc/nginx/sites-available/domenas /etc/nginx/sites-enabled/domenas
Tuo pačiu galime (tačiau nėra būtina), pašalinti pagal nutylėjimą taikomą Nginx serverio bloką:
rm /etc/nginx/sites-enabled/default
Apache įdiegimas ir konfigūravimas

5. Įdiegiame Apache:
apt-get install apache2
Kadangi Nginx vis dar nėra įjungtas, paleidus Apache tarnyba klausysis 80 prievado.

6. Atliekame reikalingus pakeitimus "/etc/apache2/ports.conf" konfigūraciniame faile:

Redaguojame "/etc/apache2/ports.conf" failą:
nano /etc/apache2/ports.conf
Surandame ir pakeičiame "NameVirtualHost" ir "Listen" parametrus į šiuos:
NameVirtualHost 127.0.0.1:8080
Listen 127.0.0.1:8080
7. Sukuriame naują Apache virtualaus hosto konfigūracinį failą remiantis pagal nutylėjimą esančia virtualaus hosto konfigūracija:
cp /etc/apache2/sites-available/default /etc/apache2/sites-available/domenas
8. Redaguojame naujo virtualaus hosto konfigūracinį failą:
nano /etc/apache2/sites-available/domenas
Faile pakoreguojame "<VirtualHost ...>" parametrą į:
<VirtualHost 127.0.0.1:8080>
Bei patikriname ar "DocumentRoot" parametras nurodytas tiksliai.

9. Įgaliname naujai sukurtą virtualų hostą:
a2ensite domenas
10. Įdiegiame PHP:
apt-get install php5
11. Perkrauname abi tarnybas:
service apache2 restart
service nginx restart
Rezultatas

Turime įdiegtus Nginx pirminį (frontend proxy) ir Apache antrinį web serverius, patikrinti ar serveryje aptarnaujamas domenas yra aptarnaujamas būtent Apache serverio, galime sukūrę phpinfo() kodą talpinantį failą.
nano /var/www/info.php
Faile patalpiname šį kodą:
<?
phpinfo( );
?>
Apsilankius adresu:

[URL="http://mūsų_prieš_tai_nurodytas_domenas/info.php"]http://mūsų_prieš_tai_nurodytas_domenas/info.php[/URL]

Ties pateikta informacija, "Server API" eilutėje turi būti nurodyta "Apache..." vertė.

Taip pat patikrinti prievadus kurių yra klausomasi galime serveryje įvykdžius šią komandą:
netstat -tulpn
Pažymėtos temos:
Norėdami palikti komentarą, turite prisijungti arba registruokis.