Cara Memasang Nginx, MariaDB 10, Php 7 (Lemp Stack) dalam 16.10/16.04

Cara Memasang Nginx, MariaDB 10, Php 7 (Lemp Stack) dalam 16.10/16.04

The Lemp Stack adalah akronim yang mewakili adalah sekumpulan pakej (Linux OS, Nginx Web Server, MySQL \ MariaDB Database dan PHP Server-Side Dynamic Language PROGRAM) yang digunakan untuk menggunakan aplikasi web dan laman web dinamik.

Tutorial ini akan membimbing anda mengenai cara memasang timbunan Lemp dengan MariaDB 10, Php 7 dan HTTP 2.0 Sokongan untuk Nginx pada Ubuntu 16.10 dan Ubuntu 16.04 edisi pelayan/desktop.

Keperluan

  1. Pemasangan Ubuntu 16.Edisi pelayan 04 [Arahan juga berfungsi Ubuntu 16.10]

Langkah 1: Pasang pelayan web nginx

1. Nginx adalah pelayan web moden dan sumber yang berkesan yang digunakan untuk memaparkan laman web kepada pelawat di Internet. Kami akan mulakan dengan memasang pelayan web nginx dari repositori rasmi Ubuntu dengan menggunakan baris arahan apt.

$ sudo apt-get pemasangan nginx 
Pasang Nginx di Ubuntu 16.04

2. Seterusnya, mengeluarkan arahan NetStat dan Systemctl untuk mengesahkan jika Nginx dimulakan dan mengikat pelabuhan 80.

$ netstat -tlpn 
Periksa sambungan port rangkaian nginx
$ sudo status status nginx.perkhidmatan 
Periksa status perkhidmatan nginx

Sebaik sahaja anda mempunyai pengesahan bahawa pelayan dimulakan, anda boleh membuka penyemak imbas dan menavigasi ke alamat IP pelayan atau rekod DNS menggunakan protokol HTTP untuk melawat halaman web lalai nginx.

http: // ip-address 
Sahkan laman web Nginx

Langkah 2: Dayakan Nginx Http/2.0 Protokol

3. The Http/2.0 protokol yang dibina secara lalai dalam pembebasan terbaru nginx binari di Ubuntu 16.04 berfungsi hanya bersempena dengan SSL dan menjanjikan peningkatan kelajuan yang besar dalam memuatkan laman web SSL web.

Untuk membolehkan protokol di nginx dihidupkan Ubuntu 16.04, pertama menavigasi ke fail konfigurasi laman web nginx dan sandarkan fail konfigurasi lalai dengan mengeluarkan arahan di bawah.

$ cd/etc/nginx/sites-tersedia/$ sudo mv lalai lalai.sandaran 
Fail Konfigurasi Laman Nginx Backup Nginx

4. Kemudian, gunakan editor teks Buat halaman lalai baru dengan arahan di bawah:

pelayan mendengar 443 ssl http2 default_server; Dengar [::]: 443 ssl http2 default_server; root/var/www/html; Indeks indeks.Indeks HTML.Indeks HTM.PHP; Server_name 192.168.1.13; lokasi / try_files $ uri $ uri / = 404;  ssl_certificate/etc/nginx/ssl/nginx.CRT; ssl_certificate_key/etc/nginx/ssl/nginx.kunci; SSL_PROTOCOLS TLSV1 TLSV1.1 TLSV1.2; SSL_PREFER_SERVER_CIPHERS ON; SSL_CIPHERS EECDH+CHACHA20: EECDH+AES128: RSA+AES128: EECDH+AES256: RSA+AES256: EECDH+3DES: RSA+3DES:!MD5; ssl_dhparam/etc/nginx/ssl/dhparam.PEM; ssl_session_cache dikongsi: ssl: 20m; SSL_SESSION_TIMEOUT 180m; Resolver 8.8.8.8 8.8.4.4; add_header ketat-pengangkutan-keselamatan "max-age = 31536000; #includesubdomains" selalu; Lokasi ~ \.Php $ termasuk coretan/fastcgi-php.Con; fastcgi_pass unix:/run/php/php7.0-fpm.kaus kaki;  lokasi ~ /\.ht menafikan semua;  pelayan Dengar 80; Dengar [::]: 80; Server_name 192.168.1.13; kembali 301 https: // $ server_name $ request_uri;  
Dayakan protokol Nginx Http 2

Coretan konfigurasi di atas membolehkan penggunaan Http/2.0 dengan menambah http2 Parameter ke semua arahan SSL mendengar.

Juga, bahagian terakhir petikan yang dilampirkan dalam Arahan Pelayan digunakan untuk mengalihkan semua trafik bukan SSL ke hos lalai SSL/TLS. Juga, ganti nama pelayan Arahan untuk memadankan alamat IP atau rekod DNS anda sendiri (FQDN sebaiknya).

5. Sebaik sahaja anda selesai mengedit fail konfigurasi lalai nginx dengan tetapan di atas, menghasilkan dan senaraikan fail sijil SSL dan kunci dengan melaksanakan arahan di bawah.

Isi sijil dengan tetapan tersuai anda sendiri dan perhatikan Nama yang selalu digunakan menetapkan untuk memadankan rekod DNS FQDN anda atau alamat IP pelayan anda yang akan digunakan untuk mengakses laman web.

$ sudo mkdir/etc/nginx/ssl $ sudo openssl req -x509 -nodes -days 365 -newkey rsa: 2048 -keyout/etc/nginx/ssl/nginx.kunci -out/etc/nginx/ssl/nginx.crt $ ls/etc/nginx/ssl/ 
Menjana sijil SSL dan kunci untuk nginx

6. Juga, buat kuat DH Cypher, yang ditukar pada fail konfigurasi di atas SSL_DHPARAM Barisan arahan, dengan mengeluarkan arahan di bawah:

$ sudo openssl dhparam -out/etc/nginx/ssl/dhparam.PEM 2048 
Buat Kunci Diffie-Hellman

7. Sekali Diffie-Hellman Kunci telah dibuat, sahkan jika fail konfigurasi nginx ditulis dengan betul dan boleh digunakan oleh pelayan web nginx dan mulakan semula daemon untuk mencerminkan perubahan dengan menjalankan arahan di bawah.

$ sudo nginx -t $ sudo systemctl mulakan semula nginx.perkhidmatan 
Semak konfigurasi Nginx

8. Untuk menguji jika Nginx menggunakan Http/2.0 Protokol mengeluarkan arahan di bawah. Kehadiran H2 Protokol yang diiklankan mengesahkan bahawa nginx telah berjaya dikonfigurasikan untuk menggunakan http/2.0 Protokol. Semua pelayar terkini moden harus menyokong protokol ini secara lalai.

$ openssl s_client -Connect localhost: 443 -NextProtoneg "
Ujian nginx http 2.0 Protokol

Langkah 3: Pasang penterjemah Php 7

Nginx boleh digunakan dengan penterjemah bahasa pemprosesan dinamik php untuk menjana kandungan web dinamik dengan bantuan pengurus proses fastcgi yang diperoleh dengan memasang PHP-FPM Pakej binari dari repositori rasmi Ubuntu.

9. Untuk merebut Php7.0 Dan pakej tambahan yang akan membolehkan PHP berkomunikasi dengan isu pelayan web nginx perintah di bawah pada konsol pelayan anda:

$ sudo apt memasang php7.0 Php7.0-fpm 
Pasang Php 7 dan PHP-FPM untuk Ngin

10. Sekali Php7.0 jurubahasa telah berjaya dipasang pada mesin anda, mula dan periksa Php7.0-fpm Daemon dengan mengeluarkan arahan di bawah:

$ sudo Systemctl Mula Php7.0-FPM $ SUDO SYSTEMCTL STATUS PHP7.0-fpm 
Mulakan dan Sahkan Perkhidmatan PHP-FPM

11. Fail konfigurasi semasa nginx sudah dikonfigurasikan untuk digunakan Php fastcgi Pengurus proses untuk kandungan dinamik pelayan.

Blok pelayan yang membolehkan Nginx menggunakan penterjemah PHP dibentangkan pada petikan di bawah, jadi tidak ada lagi pengubahsuaian fail konfigurasi nginx lalai yang diperlukan.

Lokasi ~ \.Php $ termasuk coretan/fastcgi-php.Con; fastcgi_pass unix:/run/php/php7.0-fpm.kaus kaki;  

Berikut adalah tangkapan skrin mengenai arahan yang anda perlukan untuk tidak dipadamkan dan mengubah suai adalah kes fail konfigurasi lalai nginx asal.

Dayakan php fastcgi untuk nginx

12. Untuk menguji hubungan pelayan web nginx dengan pengurus proses php fastcgi buat php maklumat.php Fail konfigurasi ujian dengan mengeluarkan arahan di bawah dan mengesahkan tetapan dengan melawat fail konfigurasi ini menggunakan alamat di bawah: http: // domain/maklumat ip_or.php.

$ sudo su -c 'echo "" | tee/var/www/html/info.php ' 
Buat fail maklumat PHP Sahkan maklumat php fastcgi

Juga periksa jika Http/2.0 Protokol diiklankan oleh pelayan dengan mencari garisan $ _Server ['server_protocol'] pada pemboleh ubah php blok seperti digambarkan pada tangkapan skrin di bawah.

Semak HTTP 2.0 Maklumat Protokol

13. Untuk memasang tambahan Php7.0 modul menggunakan Apt carian Php7.0 Perintah untuk mencari modul PHP dan pasangkannya.

Juga, cuba pasang modul PHP berikut yang boleh berguna sekiranya anda merancang untuk memasang WordPress atau CMS lain.

$ sudo apt memasang php7.0-McRypt Php7.0-mbstring 
Pasang modul PHP 7

14. Untuk mendaftarkan modul tambahan PHP hanya dimulakan semula PHP-FPM Daemon dengan mengeluarkan arahan di bawah.

$ sudo Systemctl mulakan semula php7.0-fpm.perkhidmatan 

Langkah 4: Pasang Pangkalan Data MariaDB

15. Akhirnya, untuk menyelesaikannya Lemp Stack Kami Memerlukan Komponen Pangkalan Data MariaDB untuk Menyimpan dan Mengurus Data Laman Web.

Pasang Mariadb sistem pengurusan pangkalan data dengan menjalankan arahan di bawah dan mulakan semula PHP-FPM perkhidmatan untuk menggunakan modul MySQL untuk mengakses pangkalan data.

$ sudo apt memasang MariaDB-Server MariaDB-Client Php7.0-MYSQL $ SUDO SYSTEMCTL RESTART PHP7.0-fpm.perkhidmatan 
Pasang Mariadb untuk nginx

16. Untuk memastikan pemasangan MariaDB, jalankan skrip keselamatan yang disediakan oleh pakej binari dari repositori Ubuntu yang akan meminta anda menetapkan kata laluan root, keluarkan pengguna tanpa nama, lumpuhkan log masuk root dari jauh dan keluarkan pangkalan data ujian.

Jalankan skrip dengan mengeluarkan arahan di bawah dan jawab semua soalan dengan Ya. Gunakan tangkapan skrin di bawah sebagai panduan.

$ sudo mysql_secure_installation 
Pemasangan MariaDB selamat untuk nginx

17. Untuk mengkonfigurasi Mariadb supaya pengguna biasa dapat mengakses pangkalan data tanpa sistem sudo Keistimewaan, pergi ke antara muka baris perintah MySQL dengan keistimewaan root dan jalankan arahan di bawah pada penterjemah MySQL:

$ sudo mysql Mariadb> Gunakan mysql; Mariadb> Kemas kini Pengguna Set Plugin = "Where User =" Root "; MariaDB> Keistimewaan Flush; MariaDB> Keluar 
Keizinan pengguna Mariadb

Akhirnya, log masuk ke pangkalan data MariaDB dan jalankan perintah sewenang -wenang tanpa keistimewaan akar dengan melaksanakan arahan di bawah:

$ mysql -u root -p -e 'Show Databases' 
Semak pangkalan data MariaDB

Itu 'semua! Sekarang anda mempunyai Lemp Stack dikonfigurasikan pada Ubuntu 16.10 dan Ubuntu 16.04 pelayan yang membolehkan anda menggunakan aplikasi web dinamik yang kompleks yang dapat berinteraksi dengan pangkalan data.