LEMP: Difference between revisions
No edit summary |
No edit summary |
||
(22 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
= Linux, nginx (Engine x), MySQL, PHP (LEMP) komplekti paigaldamine Ubuntu 12.04 serverisse = | |||
== Autor == | |||
Priit Lilleleht | Priit Lilleleht | ||
=== VM masinad | ---- | ||
== Sissejuhatus == | |||
Nginx on tasuta ja avatud lähtekoodiga suurejõutlusega HTTP server ja revers proxy, samuti ka IMAP/POP3 proxy server. | |||
Igor Sysoev hakkas nginx arendama 2002.aastal ja esimene versioon tuli välja 2004.aastal. | |||
Nginx on tuntud oma suure jõudluse, lihtsa seadistamise, madal ressursside tarbimisega ja stabiilsus. | |||
Nginx on kirjutatud haldama C10K probleemi(10000 klienti haldamine ühekorraga). Nginx kasutab skaleeritavaid asünkroonnseid arhitektuure. Selline arhitektuur kasutab vähe mälu koormuse all. | |||
== VM masinad == | |||
näites kasutasin klientmasinat Ubuntu Desktop 12.04 (64bit) ja serverit Ubuntu-12.04-server-amd64. | näites kasutasin klientmasinat Ubuntu Desktop 12.04 (64bit) ja serverit Ubuntu-12.04-server-amd64. | ||
Line 27: | Line 40: | ||
---- | |||
== Esimene samm == | |||
Selleks, et saada juurkasutajaks kasuta käsklust: | Selleks, et saada juurkasutajaks kasuta käsklust: | ||
<pre>sudo -i</pre> | <pre>sudo -i</pre> | ||
Uuendame kohalikud tarkvara repositooriumid | Uuendame kohalikud tarkvara repositooriumid: | ||
<pre>apt-get update</pre> | <pre>apt-get update</pre> | ||
== Paigalda MySQL == | |||
MySQLi tarkvara paigaldamiseks kasuta Ubuntu serveri käsklust: | MySQLi tarkvara paigaldamiseks kasuta Ubuntu serveri käsklust: | ||
Line 47: | Line 60: | ||
MySQLi aktiveerimine | MySQLi aktiveerimine: | ||
<pre>mysql_install_db</pre> | <pre>mysql_install_db</pre> | ||
Line 96: | Line 109: | ||
== Nginx paigaldamine == | |||
Paigaldan nginx: | Paigaldan nginx: | ||
Line 108: | Line 121: | ||
== PHP paigaldamine == | |||
php5-fpm paigaldamine | |||
<pre>apt-get install php5-fpm</pre> | <pre>apt-get install php5-fpm</pre> | ||
Line 115: | Line 129: | ||
=== PHP seadistamine === | === PHP seadistamine === | ||
Muudame failis: | |||
<pre>nano /etc/php5/fpm/php.ini</pre> | <pre>nano /etc/php5/fpm/php.ini</pre> | ||
Line 122: | Line 137: | ||
:<pre>cgi.fix_pathinfo=0</pre> | :<pre>cgi.fix_pathinfo=0</pre> | ||
Kui cgi.fix_pathinfo=1 siis üritab php leida lähimat faili mis sobib päringuga. | |||
See aga on turva risk mita on lihtne eemaltata kui muuda cgi.fix_pathinfo=0, | |||
siis annab php ainult täpseid vasteid päringutele. | |||
Veel üks muudatus failis: | |||
<pre>nano /etc/php5/fpm/pool.d/www.conf</pre> | <pre>nano /etc/php5/fpm/pool.d/www.conf</pre> | ||
Line 133: | Line 154: | ||
== nginx seadistamine == | |||
Avame vaikimisi virtual host faili | |||
<pre>nano /etc/nginx/sites-available/default</pre> | <pre>nano /etc/nginx/sites-available/default</pre> | ||
faile muutetud kuju peab olema järgne. | |||
Uuemad ubuntu versioonid võivad "www" asemel kasutada "html" kausta. | |||
<pre> | <pre> | ||
#[...] | |||
server { | server { | ||
Line 175: | Line 199: | ||
} | } | ||
[...] | #[...] | ||
</pre> | </pre> | ||
:Muudatused | :Muudatused: | ||
::lisa index.php index rida. | ::lisa index.php index rida. | ||
Line 187: | Line 211: | ||
== | == Loo PHP infoleht == | ||
Esmalt loo uus dokument | |||
<pre>nano /usr/share/nginx/www/info.php </pre> | <pre>nano /usr/share/nginx/www/info.php </pre> | ||
Line 203: | Line 227: | ||
Taaskäivita nginx: | |||
<pre>service nginx restart</pre> | <pre>service nginx restart</pre> | ||
Line 210: | Line 234: | ||
Aadressilt "http://192.168.56.210/info.php" näed oma nginx ja php seadeid.(192.168.56.210 on serveri ip). | Aadressilt "http://192.168.56.210/info.php" näed oma nginx ja php seadeid.(192.168.56.210 on serveri ip). | ||
LEMP komplekt on nüüd paigaltatud sinu serverisse. | |||
---- | |||
== Kokkuvõte == | |||
Nginx paigaltamine tundub lihtsam ja kiirem kui seda oli abache. | |||
Samuti on nginx kõrgemajõutlusega ning kasutab vähem mälu. | |||
Koos php ja MySQL on server juba valmis enamuste veebi lehtete jaoks. | |||
---- | |||
== Kasutatud allikad == | |||
# https://www.digitalocean.com/community/articles/how-to-install-linux-nginx-mysql-php-lemp-stack-on-ubuntu-12-04 | |||
# http://wiki.nginx.org/ | |||
[[Category:IT infrastruktuuri teenused]] |
Latest revision as of 09:55, 26 May 2014
Linux, nginx (Engine x), MySQL, PHP (LEMP) komplekti paigaldamine Ubuntu 12.04 serverisse
Autor
Priit Lilleleht
Sissejuhatus
Nginx on tasuta ja avatud lähtekoodiga suurejõutlusega HTTP server ja revers proxy, samuti ka IMAP/POP3 proxy server.
Igor Sysoev hakkas nginx arendama 2002.aastal ja esimene versioon tuli välja 2004.aastal.
Nginx on tuntud oma suure jõudluse, lihtsa seadistamise, madal ressursside tarbimisega ja stabiilsus.
Nginx on kirjutatud haldama C10K probleemi(10000 klienti haldamine ühekorraga). Nginx kasutab skaleeritavaid asünkroonnseid arhitektuure. Selline arhitektuur kasutab vähe mälu koormuse all.
VM masinad
näites kasutasin klientmasinat Ubuntu Desktop 12.04 (64bit) ja serverit Ubuntu-12.04-server-amd64.
näites kasutatud server:
RAM 512MB
HDD dynamically allocated 8GB
2 Võrgukaarti
- NIC1 - NAT (eth0 - Ubuntus)
- NIC2 - HostOnly (eth1 – Ubuntus) [192.168.56.210]
OS Ubuntu-12.04-server-amd64
paigaltatud SSH
Esimene samm
Selleks, et saada juurkasutajaks kasuta käsklust:
sudo -i
Uuendame kohalikud tarkvara repositooriumid:
apt-get update
Paigalda MySQL
MySQLi tarkvara paigaldamiseks kasuta Ubuntu serveri käsklust:
apt-get install mysql-server php5-mysql
MySQL root kasutaja parooli määramine. Antud näites:"password"
MySQLi aktiveerimine:
mysql_install_db
lõpetuseks käivita skript:
/usr/bin/mysql_secure_installation
Küsitakse root kasutaja parooli, sisestage see.
Küsitakse, kas soovite vahetada root kasutaja parooli, vastake "N".
Järgmistele küsimustele vastake "Y". Pärast seda MySQL taaskäivitub ja rakendab muudatused.
By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n] y ... Success! Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] y ... Success! By default, MySQL comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] y - Dropping test database... ... Success! - Removing privileges on test database... ... Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] y ... Success! Cleaning up...
Nginx paigaldamine
Paigaldan nginx:
apt-get install nginx
Nginx käivitamine, nginx ei käivitu automaatselt.
service nginx start
Kontrollimaks, et nginx töötab, suuna oma brauser serveri IP-aadressile (192.168.56.210).
PHP paigaldamine
php5-fpm paigaldamine
apt-get install php5-fpm
PHP seadistamine
Muudame failis:
nano /etc/php5/fpm/php.ini
- rida
cgi.fix_pathinfo=1
- muuta reaks
cgi.fix_pathinfo=0
Kui cgi.fix_pathinfo=1 siis üritab php leida lähimat faili mis sobib päringuga.
See aga on turva risk mita on lihtne eemaltata kui muuda cgi.fix_pathinfo=0,
siis annab php ainult täpseid vasteid päringutele.
Veel üks muudatus failis:
nano /etc/php5/fpm/pool.d/www.conf
- rida
listen = 127.0.0.1:9000
- muuta reaks
listen = /var/run/php5-fpm.sock
nginx seadistamine
Avame vaikimisi virtual host faili
nano /etc/nginx/sites-available/default
faile muutetud kuju peab olema järgne.
Uuemad ubuntu versioonid võivad "www" asemel kasutada "html" kausta.
#[...] server { listen 80; root /usr/share/nginx/www; index index.php index.html index.htm; server_name 192.168.56.210; location / { try_files $uri $uri/ /index.html; } error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/www; } # pass the PHP scripts to FastCGI server listening on the php-fpm socket location ~ \.php$ { try_files $uri =404; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } #[...]
- Muudatused:
- lisa index.php index rida.
- muuda "server_name" asendades "local host" kas domeeni nimega või IP-aadresiga (nt. 192.168.56.210).
- muuda vastavad read (location ~ \.php$ {) lõigus.
Loo PHP infoleht
Esmalt loo uus dokument
nano /usr/share/nginx/www/info.php
lisa read:
<?php phpinfo(); ?>
salvesta ja välju.
Taaskäivita nginx:
service nginx restart
Aadressilt "http://192.168.56.210/info.php" näed oma nginx ja php seadeid.(192.168.56.210 on serveri ip).
LEMP komplekt on nüüd paigaltatud sinu serverisse.
Kokkuvõte
Nginx paigaltamine tundub lihtsam ja kiirem kui seda oli abache.
Samuti on nginx kõrgemajõutlusega ning kasutab vähem mälu.
Koos php ja MySQL on server juba valmis enamuste veebi lehtete jaoks.