Memasang Lemp (Linux, Nginx, MySQL/MariaDB, PHP/PHP-FPM dan Phpmyadmin) di Gentoo Linux
- 4105
- 963
- Clarence Powlowski
Gentoo adalah salah satu pengedaran Linux terpantas kerana binaannya dari orientasi sumber dan disediakan oleh program pengurusan perisiannya - Portage - Alat tertentu yang diperlukan untuk membina platform pemaju web lengkap yang bertindak dan berfungsi dengan cepat dan, juga, mempunyai tahap penyesuaian yang tinggi.
Pasang Nginx di Gentoo LinuxTopik ini akan membawa anda melalui proses pemasangan langkah demi langkah untuk membina platform persekitaran web yang lengkap dengan Lemp (Linux Nginx, MySQL/MariaDB, PHP-FPM/PHPMyadmin), dan dengan bantuan Gunakan bendera Disediakan oleh Pengurusan Pakej Portage, yang menawarkan satu set fungsi pakej pada proses penyusunan - modul atau tetapan yang diperlukan untuk platform web, akan sangat tweak konfigurasi pelayan.
Keperluan
- Pemasangan gentoo dengan profil yang keras untuk pelayan yang menghadap ke internet - panduan pemasangan gentoo.
- Rangkaian dikonfigurasikan dengan alamat IP statik.
Langkah 1: Pasang pelayan web nginx
1. Sebelum cuba meneruskan pemasangan nginx pastikan NIC anda telah dikonfigurasikan dengan alamat IP statik dan pastikan sumber portage dan sistem anda terkini.
$ sudo su - # emerge --sync # emerge --update - -deep --with -bdeps = y @worldKemas kini Gentoo Linux
2. Selepas proses kemas kini selesai, teruskan dengan pemasangan Nginx dengan memilih tetapan dan modul yang disukai dengan bergema Nginx Gunakan bendera ke portage buat.Conf fail. Senarai pertama modul pemasangan lalai nginx dengan menjalankan arahan berikut.
# emerge -pv nginx
Untuk maklumat terperinci maklumat (gunakan bendera untuk pakej) gunakan Equery perintah.
# Equery menggunakan nginxSenaraikan semua modul bendera
Kemudian pasang nginx dengan arahan berikut.
# Emerge -Sask nginxPasang pelayan web nginx
Sekiranya anda memerlukan modul tambahan (Webdav, FancyIndex, Geoip, dll) selain yang lalai, nginx akan disusun dengan, tambahnya semua pada satu baris pada portage buat.Conf fail dengan Nginx_modules_http arahan, kemudian mengkompilasi semula nginx dengan modul baru.
# echo 'nginx_modules_http = "dav Auth_pam fancyindex geoip fastcgi uwsgi gzip menulis semula"' >>/etc/portage/membuat.conf # emerge --k nginxMenyusun nginx untuk modul baru
3. Selepas Portage selesai nginx muncul, mulakan daemon http dan sahkan dengan mengarahkan penyemak imbas anda ke http: // localhost.
Sahkan pelayan web nginxLangkah 2: Pasang PHP
4. Untuk menggunakan bahasa pengaturcaraan web dinamik php dengan pelayan nginx, pasang Pengurus Proses PHP-Fastcgi (Fpm) dengan menambahkan fpm dan sambungan PHP yang lain pada bendera menggunakan portage dan pastikan anda mengeluarkan lanjutan Apache.
# emerge -pv phpPasang PHP di Gentoo
# Equery menggunakan phpPemilihan Sambungan PHP
# echo "dev -lang/php fpm cgi curl gd imap mysql mysqli pdo zip json xcache apc zlib zip truetype -apache2" >>/etc/portage/pakej.Gunakan # EMERGE -Sask PHP
5. Sebelum memulakan PHP-FPM beberapa perubahan perlu digunakan untuk fail konfigurasi perkhidmatan. Buka PHP-FPM fail konfigurasi dan buat perubahan berikut.
# nano/etc/php/fpm-php5.5/PHP-FPM.Conf
Cari dan uncomment arahan berikut untuk kelihatan seperti ini.
error_log =/var/log/php-fpm.Log Dengar = 127.0.0.1: 9000 ## Di sini anda boleh menggunakan soket HTTP (kombinasi port) yang anda mahukan ## pm.start_servers = 20
6. Selepas fail konfigurasi PHP-FPM ia diedit, tukar kebenaran fail log php-fpm dan mulakan perkhidmatan.
# CHMOD 755/VAR/LOG/PHP-FPM.log # /etc /init.D/PHP-FPM Mula
Walaupun perkhidmatan php-fpm dimulakan, nginx tidak dapat berkomunikasi dengan gerbang php, jadi, beberapa perubahan perlu dilakukan pada fail konfigurasi nginx.
Langkah 3: Edit konfigurasi nginx
7. Fail konfigurasi templat lalai nginx hanya menyediakan soket HTTP asas untuk localhost sahaja. Untuk mengubah tingkah laku ini dan membolehkan tuan rumah maya, terbuka nginx.Conf fail yang terletak di /etc/nginx/ jalan dan buat konfigurasi berikut.
# nano/etc/nginx/nginx.Conf
Cari yang pertama pelayan blok yang sepadan dengan localhost dan mendengarkan 127.0.0.1 Alamat IP dan memuji semua kenyataannya untuk kelihatan seperti dalam tangkapan skrin di bawah.
Lumpuhkan konfigurasi HTTP asasJangan tutup fail dan pindah ke bahagian paling bawah dan tambahkan pernyataan berikut sebelum penutupan pendakap keriting terakhir "".
Sertakan/etc/nginx/enabled sites/*.Con;Dayakan tuan rumah maya nginx
8. Buat seterusnya Tapak yang dibolehkan dan Tapak-tapak tersedia (Untuk tuan rumah maya yang tidak digunakan) Direktori dan fail konfigurasi nginx untuk localhost pada protokol HTTP dan HTTPS.
# mkdir/etc/nginx/laman web-tersedia # mkdir/etc/nginx/enabled sites
Buat konfigurasi fail berikut untuk localhost.
# nano/etc/nginx/sites-tersedia/localhost.Conf
Tambahkan kandungan fail berikut.
pelayan mendengar 80; server_name localhost; Access_log/var/log/nginx/localhost_access_log utama; error_log/var/log/nginx/localhost_error_log info; root/var/www/localhost/htdocs; lokasi / indeks indeks.Indeks HTML.Indeks HTM.PHP; Autoindex ON; AUTOINDEX_EXACT_SIZE OFF; AUTOINDEX_LOCALTIME ON; lokasi ~ \.php $ # ujian untuk skrip yang tidak wujud atau buang ralat 404 # tanpa baris ini, nginx akan membabi buta menghantar permintaan yang berakhir .php ke php-fpm try_files $ uri = 404; termasuk/etc/nginx/fastcgi.Con; fastcgi_pass 127.0.0.1: 9000; ## Pastikan soket sepadan dengan fail conf php-fpmBuat Konfigurasi Hos Maya Nginx
Untuk localhost dengan SSL buat fail konfigurasi berikut.
# nano/etc/nginx/laman web-tersedia/localhost-ssl.Conf
Tambahkan kandungan fail berikut.
Server Dengar 443 SSL; server_name localhost; SSL ON; ssl_certificate/etc/ssl/nginx/nginx.PEM; ssl_certificate_key/etc/ssl/nginx/nginx.kunci; Access_log/var/log/nginx/localhost.ssl_access_log utama; error_log/var/log/nginx/localhost.SSL_ERROR_LOG INFO; root/var/www/localhost/htdocs; lokasi / indeks indeks.Indeks HTML.Indeks HTM.PHP; Autoindex ON; AUTOINDEX_EXACT_SIZE OFF; AUTOINDEX_LOCALTIME ON; lokasi ~ \.php $ # ujian untuk skrip yang tidak wujud atau buang ralat 404 # tanpa baris ini, nginx akan membabi buta menghantar permintaan yang berakhir .php ke php-fpm try_files $ uri = 404; termasuk/etc/nginx/fastcgi.Con; fastcgi_pass 127.0.0.1: 9000;Buat SSL Nginx Host
9. Kini sudah tiba masanya untuk membuat dua skrip pada laluan sistem yang boleh dilaksanakan (pemboleh ubah shell $ path), yang bertindak sebagai arahan untuk mengaktifkan atau melumpuhkan tuan rumah maya nginx.
Buat skrip bash pertama yang dinamakan n2ensite yang akan membolehkan fail konfigurasi tuan rumah maya dengan mewujudkan hubungan simbolik antara tuan rumah yang ditentukan dari Tapak-tapak tersedia ke Tapak yang dibolehkan.
# nano/usr/local/bin/n2eniste
Tambahkan kandungan fail berikut.
#!/bin/bash jika test -d/etc/nginx/sites -available && test -d/etc/nginx/sites -enabled; kemudian echo "----------------------------------------------- "lain-lain mkdir/etc/nginx/tapak yang tersedia mkdir/etc/nginx/enabled fi fi avail =/etc/nginx/sites-available/$ 1.conf enabled =/etc/nginx/sites-enabled/site = "ls/etc/nginx/sites-available/" if ["$#" != "1"]; kemudian echo "Gunakan skrip: n2ensite virtual_site" echo -e "\ navailable hosts: \ n $ site" exite 0 else if test -e $ avail; maka sudo ln -s $ avail $ enabled else echo -e "$ avail maya host tidak wujud! Sila buat satu!\ n $ site "Exit 0 fi if test -e $ enabled/$ 1.Con; kemudian echo "kejayaan!! Sekarang mulakan semula pelayan nginx: sudo /etc /init.d/ nginx mulakan semula "else echo -e" host maya $ avail tidak wujud!\ nplease Lihat Hos Maya Tersedia: \ N $ Site "Exit 0 Fi FiBuat skrip Enable Host Maya
10. Kemudian buat skrip kedua yang dipanggil n2dissite, yang akan memadam tuan rumah maya aktif yang ditentukan dari Tapak yang dibolehkan Jalan nginx dengan kandungan berikut.
# nano/usr/local/bin/n2dissite
Tambahkan kandungan berikut.
#!/bin/bash avail =/etc/nginx/sites-enabled/$ 1.conf enabled =/etc/nginx/sites-enabled site = "ls/etc/nginx/sites-available/" if ["$#" != "1"]; kemudian echo "Gunakan skrip: n2dissite virtual_site" echo -e "\ navailable hosts maya: \ n $ site" Exit 0 else if test -e $ avail; maka sudo rm $ availy else echo -e "$ avail maya host tidak wujud! Keluar!"Keluar 0 fi jika ujian -e $ diaktifkan/$ 1.Con; kemudian echo "ralat!! Tidak dapat mengeluarkan host maya $ avail $!kejayaan "lain echo -e"! $ avail telah dikeluarkan!\ nplease mulakan semula nginx: sudo /etc /init.d/nginx mulakan semula "Keluar 0 fi fiBuat Skrip Lumpuhkan Hos Maya
11. Selepas menamatkan penyuntingan skrip bash, tambahkan kebenaran pelaksanaan dan aktifkan tuan rumah maya maya - gunakan nama fail konfigurasi hos maya tanpa .Conf lanjutan, kemudian mulakan semula perkhidmatan nginx dan php-fpm untuk menerapkan perubahan.
# chmod +x/usr/local/bin/n2dissite # chmod +x/usr/local/bin/n2ensite # n2ensite localhost # n2ensite localhost-ssl # service nginx restart # service php-fpm restart restart php-fpm restart mulakan semula php-fpmMulakan semula nginx dan php-fpm
12. Untuk menguji konfigurasi membuat fail maklumat PHP pada laluan akar lalai localhost untuk fail web (/var/www/localhost/htdocs) dan mengalihkan penyemak imbas anda https: // localhost/info.php atau http: // localhost/info.php.
echo ""/var/www/localhost/htdocs/info.phpSahkan konfigurasi PHP
Menggunakan fail konfigurasi tuan rumah maya localhost sebagai templat dan nginx n2enmod dan n2dismod Anda boleh dengan mudah menambahkan seberapa banyak laman web yang anda suka, tetapi memastikan bahawa anda mempunyai petunjuk DNS yang sah untuk pelayan web yang dihadapi internet atau menggunakan entri secara tempatan pada fail host sistem.
Langkah 4: Pasang mysql/Mariadb + phpmyadmin
Untuk memasang Pangkalan Data MySQL dan antara muka web phpmyadmin untuk MySQL Gunakan prosedur yang sama yang dibentangkan pada pemasangan lampu pada gentoo.
13. Sebagai balasan jika anda ingin menggunakan MariaDB, penggantian drop-in untuk MySQL, gunakan arahan berikut untuk mendapatkan Gunakan bendera dan memasangnya.
# emerge -pv Mariadb # emerge --ask MariadbPasang pangkalan data MariaDB
Sekiranya anda mendapat konflik pakej dengan mysql tambahkan baris berikut ke portage pakej.menerima.Kata kunci.
# echo "= dev-db/Mariadb-5.5.37-R1 ~ AMD64 ">>/etc/Portage/Pakej.menerima.Kata kunci # echo "= maya/mysql-5.5 ~ amd64 ">>/etc/portage/pakej.menerima.Kata kunci # Emerge -Sask Mariadb
14. Selepas pangkalan data MySQL dipasang pada perkhidmatan permulaan dan selamatkannya menggunakannya mysql_secure_installation (Tukar kata laluan root, lumpuhkan log masuk root di luar localhost, keluarkan pangkalan data pengguna/ujian tanpa nama).
# Service Mysql Mula # mysql_secure_installation
15. Masukkan pangkalan data MySQL menggunakan, mysql -u root -p perintah untuk menguji fungsinya dan meninggalkannya dengan keluar perintah.
# mysql -u root -p MariaDB> Tunjukkan pangkalan data; Mariadb> keluar;Sahkan sambungan MySQL
16. Sekiranya anda tidak terlalu baik dengan baris arahan MySQL. Pasang frontend web phpmyadmin dengan melaksanakan arahan berikut.
# emerge -pv dev-db/phpmyadmin # echo "dev-db/phpmyadmin persediaan vhost" >>/etc/portage/pakej.Gunakan # EMERGE --Ank dev-DB/phpmyadminPasang phpmyadmin
17. Selepas phpmyadmin selesai memasang, buat fail konfigurasi berdasarkan fail konfigurasi sampel, ubah blowfish_secret frasa laluan dengan rentetan rawak, kemudian buat pautan simbolik dari /usr/share/webapps/phpmyadmin/phpmyadmin_version_number/htdocs/ ke tuan rumah Maya Dokumen Root Path Anda ingin mengakses antara muka web phpmyadmin.
# cd/usr/share/webapps/phpmyadmin/4.2.2/ htdocs/ # cp config.Contoh.INC.php config.INC.php # nano config.INC.phpKonfigurasikan phpmyadmin
# ln -s/usr/share/webapps/phpmyadmin/4.2.2/htdocs//var/www/localhost/htdocs/phpmyadminBuat pautan simbolik phpmyadmin
18. Untuk mengakses pangkalan data MySQL melalui antara muka web phpmyadmin, buka penyemak imbas dan gunakan alamat URL berikut https: // localhost/phpmyadmin.
Sahkan log masuk phpmyadmin19. Langkah terakhir adalah untuk membolehkan perkhidmatan di seluruh sistem, secara automatik bermula selepas reboot.
# rc-update tambah nginx lalai # rc-update tambah php-fpm lalai # rc-update tambah mysql lalaiDayakan sistem perkhidmatan lebar
Sekarang kami mempunyai persediaan persekitaran yang minimum untuk hosting web, dan jika anda hanya menggunakan halaman HTML, JavaScript dan PHP Dynamic yang dihasilkan dan anda tidak memerlukan laman web SSL, konfigurasi di atas harus memuaskan anda.
- « Memasang GUI (Desktop Cinnamon) dan perisian asas di Arch Linux
- Soalan dan jawapan wawancara praktikal mengenai skrip shell linux »