Apakah nginx memiliki php
Cara mengatur php pada nginx dengan fastcgi (php-fpm) contoh
1. Konfigurasi: Kesalahan:. Xml2-config tidak ditemukan, silakan periksa instalasi libxml2 Anda.
Apakah nginx memiliki php
Membangun dari sumber tidak mudah jika ada sesuatu yang sedikit berbeda, dan saya mengalami kesulitan dengan beberapa opsi direktori dan konfigurasi. Saya menggelepar di web sampai saya menemukan situs ini yang diterjemahkan dari Cina. Tidak ada orang lain yang punya solusinya. Saya tidak bisa mendapatkan php fpm untuk memulai sampai saya mengubah direktori (item 2.Kesalahan: Tidak dapat mengglobal). Saya memiliki masalah lain yang terdaftar tetapi saya bisa menyelesaikannya. Tolong jangan hapus ini, ini adalah info yang sangat berguna.
Situs asli (dalam bahasa Cina, bukan situs saya, tetapi saya ingin memberikan kredit):
(Ada beberapa lagi di sana, Anda bisa pergi ke situs)
1. Konfigurasi: Kesalahan:. Xml2-config tidak ditemukan, silakan periksa instalasi libxml2 Anda.
APT-GET INSTALL LIBXML2-DEV
2.Peringatan: Deklarasi Pear_installer :: download () harus kompatibel dengan & pear_downloader :: download ($ params) dalam phar: /// root/php-7.0.0alpha1/pir/install-pear-nozlib.phar /pir /installer.PHP On Line 43
PERINGATAN: Deklarasi Pear_PackageFile_Parser_v2 :: parse () harus kompatibel dengan pear_xmlparser :: parse ($ data) dalam phar: /// root/php-7.0.0alpha1/pir/install-pear-nozlib.phar/ pir/ packageFile/ parser/ v2.PHP On Line 113
[Pir] archive_tar – sudah diinstal: 1.3.13
[Pir] console_getopt – sudah diinstal: 1.3.1
[Pir] struktur_graph- sudah terpasang: 1.0.4
PERINGATAN: Deklarasi pear_task_replace :: init () harus kompatibel dengan pear_task_common :: init ($ xml, $ fileattributes, $ lastversion) dalam phar: /// root/php-7.0.0alpha1/pir/install-pear-nozlib. phar / pir / tugas / ganti.PHP pada baris 31
[Pir] xml_util – sudah diinstal: 1.2.3
PERINGATAN: Deklarasi pear_task_windowseol :: init () harus kompatibel dengan pear_task_common :: init ($ xml, $ fileattributes, $ lastversion) dalam phar: /// root/php-7.0.0alpha1/pir/install-pear-nozlib. phar / pir / tugas / windowseol.PHP On Line 76
PERINGATAN: Deklarasi pear_task_unixeol :: init () harus kompatibel dengan pear_task_common :: init ($ xml, $ fileattributes, $ lastversion) dalam phar: /// root/php-7.0.0alpha1/pir/install-pear-nozlib. phar / pir / tugas / unixeol.PHP On Line 76
[Pir] pir – sudah terpasang: 1.9.5
1.Kesalahan: Gagal membuka file konfigurasi ‘/usr/local/etc/php-fpm.conf ‘: tidak ada file atau direktori seperti itu (2)
Kesalahan: Gagal memuat file konfigurasi ‘/usr/local/etc/php-fpm.conf ‘
Kesalahan: Inisialisasi FPM gagal
Php-fpm.conf salin file dari file sumber ke lokasi itu.
CP /ROOT /PHP-7.0.0Alpha1/SAPI/FPM/PHP-FPM.conf/usr/local/etc/php-fpm.conf
2.Kesalahan: Tidak dapat mengglobal ‘/usr/local/none/etc/php-fpm.D/*.conf ‘(ret = 2) dari/usr/local/etc/php-fpm.conf at line 125.
Kesalahan: Gagal memuat file konfigurasi ‘/usr/local/etc/php-fpm.conf ‘
Kesalahan: Inisialisasi FPM gagal
Edit/usr/local/etc/php-fpm.Dokumen conf diperkenalkan * .bagian conf, ubah ke jalur yang benar termasuk = / usr / local / etc / php-fpm.D / *. Conf
Jika tidak ada/usr/local/etc/php-fpm.D Direktori, Buat Direktori.
3.PERINGATAN: Tidak ada yang cocok dengan pola termasuk ‘/usr/local/etc/php-fpm.D/*.conf ‘from/usr/local/etc/php-fpm.conf at line 125.
KESALAHAN:. Tidak ada kumpulan yang ditentukan setidaknya satu bagian kumpulan harus ditentukan dalam file konfigurasi
Kesalahan: Gagal memposting konfigurasi
Kesalahan: Inisialisasi FPM gagal
CP www.conf.www default.conf
4.Kesalahan: [pool www] tidak bisa mendapatkan gid untuk grup ‘tidak ada’
Kesalahan: Inisialisasi FPM gagal
Www.Conf open file, pengguna dan grup pengguna ke dalam pengaturan default Nginx, biasanya defaultnya adalah www-data.
1 tahun yang lalu
Untuk memaksimalkan kinerja server dengan kecepatan tertinggi, dengan sumber daya paling sedikit, saya telah memutuskan untuk menyusun PHP 8 secara manual dari OS berbasis Linux/UNIX minimal (Distro Linux saya adalah paket berbasis RPM)
Sistem saya telah berhasil didukung oleh PHP 8.0.9 – Dengan Opcache/JIT diaktifkan & lainnya beberapa modul ekstensi PHP. Berikut adalah beberapa pengalaman yang dapat menghemat beberapa jam penelitian.
1. Sebelum Langkah (3) – Konfigurasikan dan Bangun PHP – Untuk memastikan bahwa tidak ada kesalahan, Anda dapat merujuk ke perpustakaan prasyarat saya.
Sudo DNF Instal \
GCC GCC-C ++ Make CMake Autoconfig \
Zlib Zlib-Devel PCRE-Devel \ \
libxml2-devel libxslt-devel \
BZIP2-Devel-Devel-Devel Libzip-Devel \
sqlite-devel \
Systemd-Devel \
openssl-devel \
libffi-devel \
libpng libpng-devel libwebp libwebp-devel libjpeg libjpeg-devel libxpm libxpm-devel \
freetype-devel \
GMP-Devel \
libldb-devel \
libc-client libc-client-devel \ \
OpenDAP OpenLDAP-Devel \
Oniguruma Oniguruma-Devel \
Net-SNMP-Devel-Devel-Devel UnixoDBC-Devel \
uw-imap uw-imap-devel uw-imap-static uw-imap-utils \
libicu-devel \
Enchant2 Enchant2-Devel \ \
GD GD-Devel \
libsodium libsodium-devel \
libtidy libtidy-devel
Anda mungkin tidak menerima kesalahan saat menerbitkan ./configure, buat && buat instal. Bahkan saat Anda membangun paket ekstensi php secara manual nanti.
2. Pada Langkah 5 – Sebelum memodifikasi PHP.INI – Anda dapat memeriksa ulang apakah PHP saat ini sedang membaca php mana.file ini dengan perintah ini
php -ini | GREP PHP.ini
# Hasil saya. Itu berbeda dari tutorial.
File Konfigurasi (PHP.ini) path =>/usr/local/lib
File konfigurasi yang dimuat =>/usr/local/lib/php.ini
4 tahun yang lalu
Ketika saya menjalankan perintah berikut untuk memulai php-fpm:
/usr/lokal/bin/php-fpm
Saya mendapat informasi kesalahan berikut:
Tidak dapat mengglobal ‘/usr/local/none/etc/php-fpm.D/*.conf ‘(ret = 2) dari/usr/local/etc/php-fpm.conf at line 143.
Untuk memperbaiki kesalahan ini, lakukan:
Ubah ST
Cara mengatur php pada nginx dengan fastcgi (php-fpm) contoh
1. Konfigurasi: Kesalahan:. Xml2-config tidak ditemukan, silakan periksa instalasi libxml2 Anda.
Apakah nginx memiliki php
Membangun dari sumber tidak mudah jika ada sesuatu yang sedikit berbeda, dan saya mengalami kesulitan dengan beberapa opsi direktori dan konfigurasi. Saya menggelepar di web sampai saya menemukan situs ini yang diterjemahkan dari Cina. Tidak ada orang lain yang punya solusinya. Saya tidak bisa mendapatkan php fpm untuk memulai sampai saya mengubah direktori (item 2.Kesalahan: Tidak dapat mengglobal). Saya memiliki masalah lain yang terdaftar tetapi saya bisa menyelesaikannya. Tolong jangan hapus ini, ini adalah info yang sangat berguna.
Situs asli (dalam bahasa Cina, bukan situs saya, tetapi saya ingin memberikan kredit):
(Ada beberapa lagi di sana, Anda dapat membuat situs ini)
1. Konfigurasi: Kesalahan:. Xml2-config tidak ditemukan, silakan periksa instalasi libxml2 Anda.
APT-GET INSTALL LIBXML2-DEV
2.Peringatan: Deklarasi Pear_installer :: download () harus kompatibel dengan & pear_downloader :: download ($ params) dalam phar: /// root/php-7.0.0alpha1/pir/install-pear-nozlib.phar /pir /installer.PHP On Line 43
PERINGATAN: Deklarasi Pear_PackageFile_Parser_v2 :: parse () harus kompatibel dengan pear_xmlparser :: parse ($ data) dalam phar: /// root/php-7.0.0alpha1/pir/install-pear-nozlib.phar/ pir/ packageFile/ parser/ v2.PHP On Line 113
[Pir] archive_tar – sudah diinstal: 1.3.13
[Pir] console_getopt – sudah diinstal: 1.3.1
[Pir] struktur_graph- sudah terpasang: 1.0.4
PERINGATAN: Deklarasi pear_task_replace :: init () harus kompatibel dengan pear_task_common :: init ($ xml, $ fileattributes, $ lastversion) dalam phar: /// root/php-7.0.0alpha1/pir/install-pear-nozlib. phar / pir / tugas / ganti.PHP pada baris 31
[Pir] xml_util – sudah diinstal: 1.2.3
PERINGATAN: Deklarasi pear_task_windowseol :: init () harus kompatibel dengan pear_task_common :: init ($ xml, $ fileattributes, $ lastversion) dalam phar: /// root/php-7.0.0alpha1/pir/install-pear-nozlib. phar / pir / tugas / windowseol.PHP On Line 76
PERINGATAN: Deklarasi pear_task_unixeol :: init () harus kompatibel dengan pear_task_common :: init ($ xml, $ fileattributes, $ lastversion) dalam phar: /// root/php-7.0.0alpha1/pir/install-pear-nozlib. phar / pir / tugas / unixeol.PHP On Line 76
[Pir] pir – sudah terpasang: 1.9.5
1.Kesalahan: Gagal membuka file konfigurasi ‘/usr/local/etc/php-fpm.conf ‘: tidak ada file atau direktori seperti itu (2)
Kesalahan: Gagal memuat file konfigurasi ‘/usr/local/etc/php-fpm.conf ‘
Kesalahan: Inisialisasi FPM gagal
Php-fpm.conf salin file dari file sumber ke lokasi itu.
CP /ROOT /PHP-7.0.0Alpha1/SAPI/FPM/PHP-FPM.conf/usr/local/etc/php-fpm.conf
2.Kesalahan: Tidak dapat mengglobal ‘/usr/local/none/etc/php-fpm.D/*.conf ‘(ret = 2) dari/usr/local/etc/php-fpm.conf at line 125.
Kesalahan: Gagal memuat file konfigurasi ‘/usr/local/etc/php-fpm.conf ‘
Kesalahan: Inisialisasi FPM gagal
Edit/usr/local/etc/php-fpm.Dokumen conf diperkenalkan * .bagian conf, ubah ke jalur yang benar termasuk = / usr / local / etc / php-fpm.D / *. Conf
Jika tidak ada/usr/local/etc/php-fpm.D Direktori, Buat Direktori.
3.PERINGATAN: Tidak ada yang cocok dengan pola termasuk ‘/usr/local/etc/php-fpm.D/*.conf ‘from/usr/local/etc/php-fpm.conf at line 125.
KESALAHAN:. Tidak ada kumpulan yang ditentukan setidaknya satu bagian kumpulan harus ditentukan dalam file konfigurasi
Kesalahan: Gagal memposting Konfigurasi
Kesalahan: Inisialisasi FPM gagal
CP www.conf.www default.conf
4.Kesalahan: [pool www] tidak bisa mendapatkan gid untuk grup ‘tidak ada’
Kesalahan: Inisialisasi FPM gagal
Www.Conf open file, pengguna dan grup pengguna ke dalam pengaturan default Nginx, biasanya defaultnya adalah www-data.
1 tahun yang lalu
Untuk memaksimalkan kinerja server dengan kecepatan tertinggi, dengan sumber daya paling sedikit, saya telah memutuskan untuk menyusun PHP 8 secara manual dari OS berbasis Linux/UNIX minimal (Distro Linux saya adalah paket berbasis RPM)
Sistem saya telah berhasil didukung oleh PHP 8.0.9 – Dengan Opcache/JIT diaktifkan & lainnya beberapa modul ekstensi php. Berikut adalah beberapa pengalaman yang dapat menghemat beberapa jam penelitian.
1. Sebelum Langkah (3) – Mengkonfigurasi dan Bangun PHP – Untuk memastikan bahwa tidak ada kesalahan yang terjadi, Anda dapat merujuk ke perpustakaan prasyarat saya.
Sudo DNF Instal \
GCC GCC-C ++ Make CMake Autoconfig \
Zlib Zlib-Devel PCRE-Devel \ \
libxml2-devel libxslt-devel \
BZIP2-Devel-Devel-Devel Libzip-Devel \
sqlite-devel \
Systemd-Devel \
openssl-devel \
libffi-devel \
libpng libpng-devel libwebp libwebp-devel libjpeg libjpeg-devel libxpm libxpm-devel \
freetype-devel \
GMP-Devel \
libldb-devel \
libc-client libc-client-devel \ \
OpenDAP OpenLDAP-Devel \
Oniguruma Oniguruma-Devel \
Net-SNMP-Devel-Devel-Devel UnixoDBC-Devel \
uw-imap uw-imap-devel uw-imap-static uw-imap-utils \
libicu-devel \
Enchant2 Enchant2-Devel \ \
GD GD-Devel \
libsodium libsodium-devel \
libtidy libtidy-devel
Anda mungkin tidak menerima kesalahan saat menerbitkan ./configure, buat && buat instal. Bahkan saat Anda membangun paket ekstensi php secara manual nanti.
2. Pada Langkah 5 – Sebelum memodifikasi PHP.INI – Anda dapat memeriksa ulang apakah PHP saat ini sedang membaca php mana.file ini dengan perintah ini
php -ini | GREP PHP.ini
# Hasil saya. Ini berbeda dari tutorial.
File Konfigurasi (PHP.ini) path =>/usr/local/lib
File konfigurasi yang dimuat =>/usr/local/lib/php.ini
4 tahun yang lalu
Ketika saya menjalankan perintah berikut untuk memulai php-fpm:
/usr/lokal/bin/php-fpm
Saya mendapat informasi kesalahan berikut:
Tidak dapat mengglobal ‘/usr/local/none/etc/php-fpm.D/*.conf ‘(ret = 2) dari/usr/local/etc/php-fpm.conf at line 143.
Untuk memperbaiki kesalahan ini, lakukan:
Ubah string “include = none/etc/php-fpm.D/*.conf “to” termasuk = etc/php-fpm.D/*.conf “in the file”/usr/local/etc/php-fpm.conf “dengan editor teks.
Setelah itu, saya mencoba memulai php-fpm lagi dan mendapatkan informasi kesalahan lagi:
Tidak ada yang cocok dengan pola termasuk ‘/usr/local/etc/php-fpm.D/*.conf ‘from/usr/local/etc/php-fpm.conf at line 143.
Untuk memperbaiki kesalahan ini, lakukan:
cp/usr/local/etc/php-fpm.d/www.conf.default/usr/local/etc/php-fpm.d/www.conf
4 tahun yang lalu
CP PHP/PHP.PHP/LIB/PHP INI-Development.ini
CP PHP/etc/php-fpm.conf.default php/etc/php-fpm.conf
CP PHP/etc/php-fpm.d/www.conf.default php/etc/php-fpm.d/www.conf
3 tahun yang lalu
Dalam sistem Linux, jika Anda ingin menambahkan layanan php-fpm ke layanan sistem; Sangat mudah untuk melakukan itu, karena PHP menawarkan skrip Shell Relate:
Setelah membuat dan membuat instal; masukkan paket kode sumber SAPI/fpm/init.D.php-fpm; Ketik kode dalam sistem Linux.
CP SAPI/FPM/INIT.D.php-fpm /etc /init.D/PHP-FPM
maka Anda dapat menggunakan “php-fpm
7 tahun yang lalu
Jika Anda mendapatkan kesalahan “File Not Found” maka tambahkan “root_dir_location” arahan ke blok lokasi php i.e. “Lokasi ~* \.php $ < >“, di mana root_dir_location adalah direktori root seperti”/usr/share/nginx/html ” .
7 tahun yang lalu
pada langkah 3, setelah perintah “sudo buat instal”
Jika ada masalah dengan pir.php.net (https). Perlu mengubah baris ini (dari https ke http) di makefile
Pear_installer_url = http: // pear.php.net/install-pear-nozlib.far
11 bulan yang lalu
Upaya yang luar biasa untuk tutorial ini, terima kasih banyak, berikut adalah catatan saya jika dapat membantu siapa pun, mempertimbangkan pemasangan default pada wadah WSL2
Catatan: Komposer ditambahkan untuk kerangka kerja Laravel.
Ini tidak boleh disalin dan ditempel seperti itu, perlu selektif karena ada anotasi di samping beberapa perintah,
Saya juga telah berkomentar # beberapa default yang ditulis oleh editor asli karena ketidakcocokan ke lingkungan saya saat ini.
SHA256SUM PHP-X.X.X.ter.GZ => E847745FD66FC8C57FAC993A609FEFCDID93FDDCCD225F0620A26BB5AE5753C3
TAR ZXF PHP-X.X.X
sudo apt menginstal build-esensial
sudo apt install -y komposer nginx pkgconf libxml2-dev libsqlite3-dev zlib1g-dev
CD PHP-X.X.X
./configure –enable-fpm-dengan mysqli membuat sudo membuat tes sudo membuat instal sudo cp php.ini-development/usr/local/lib/php.ini
sudo cp/usr/local/etc/php-fpm.d/www.conf.default/usr/local/etc/php-fpm.d/www.conf
Sudo CP SAPI/FPM/PHP-FPM/USR/LOCAL/BIN
sudo vim/usr/local/php/php.ini sudo vim/usr/local/etc/php-fpm.d/www.conf sudo vim sapi/fpm/php-fpm.conf sudo cp sapi/fpm/php-fpm.conf/usr/lokal/dll
/usr/local/bin/php -v sudo/usr/local/bin/php-fpm sudo vim/etc/nginx/situs-tersedia/default
Lokasi / #Root HTML;
Indeks #index.Indeks PHP.Indeks HTML.htm;
>
Lokasi ~* \.php $ #fastcgi_index index.PHP;
fastcgi_pass 127.0.0.1: 9000;
Sertakan fastcgi_params;
fastcgi_param script_filename $ document_root $ fastcgi_script_name;
fastcgi_param script_name $ fastcgi_script_name;
>
*Restart nginx (root/var/www/html) Jika jalur root tidak ada, default adalah:/usr/share/nginx/html
sudo nginx -t layanan sudo nginx
Layanan sudo Nginx berhenti
Layanan sudo nginx mulai
PHP -FPM harus dalam suatu layanan, atau membunuh proses secara manual PS -AUX | GREP PHP-FPM; membunuh
Apakah nginx memiliki php
- 4 Keterampilan Arsitek Enterprise Anda tidak boleh diabaikan sementara pasti ada banyak yang menjadi arsitek perusahaan, keterampilan apa yang mutlak ‘harus dimiliki’ untuk tetap bertahan.
- Falcor vs. GraphQL: Perbedaan yang penting sementara keduanya pada dasarnya mewakili dua pendekatan untuk tujuan akhir yang sama, ada beberapa perbedaan utama antara GraphQL dan Falcor .
- Pandangan cepat pada bahasa pemrograman karbon Karbon adalah bahasa pemrograman eksperimental yang dibangun untuk berdiri di atas bahu C ++ – tetapi dengan pandangan baru tentang keamanan memori.
- Google menggoda ekspansi AI generatif dalam fitur AI generatif baru cloud Google sendiri, termasuk asisten pengkodean, terikat erat dengan GCP dalam demo pratinjau minggu ini, sementara .
- Apakah chatgpt lebih baik untuk pengkodean daripada platform kode rendah? Chatgpt dapat menulis kode, tetapi tidak dapat mengintegrasikan kode atau menghasilkan ide desain. Juga, ia menimbulkan risiko keamanan dan lisensi. Untuk sekarang.
- Beberapa strategi sederhana untuk mengurangi redundansi tes perangkat lunak sementara cakupan uji komprehensif adalah suatu keharusan, tim perangkat lunak harus melakukan upaya sadar untuk menjaga agar suite tidak menjadi .
- Google menggandakan AI generatif dari Google I/O 2023, komentar Paul Nashawaty dari Enterprise Strategy Group tentang peningkatan AI untuk pencarian Google, foto, peta dan .
- Pakar Keamanan Berbagi Audit Cloud Praktik Terbaik Audit cloud memungkinkan organisasi untuk menilai kinerja vendor cloud. Pakar audit Shinessa Cambric dan Michael Ratemo Talk .
- Menyebarkan aplikasi di Google Cloud Run dengan Terraform menggunakan Terraform untuk menggunakan aplikasi ke Google Cloud Run memungkinkan proses penyebaran yang dapat diskalakan dan dapat mengurangi konfigurasi .
- Crowdstrike memperingatkan peningkatan serangan hypervisor VMware ESXi ketika adopsi perusahaan meningkatnya teknologi virtualisasi, Crowdstrike telah mengamati peningkatan serangan ransomware pada server .
- BL00DY Ransomware Geng menargetkan sekolah melalui cacat kertas .
- Pakar Pertanyaan San Bernardino’s $ 1.1M Pembayaran tebusan sementara tidak ada layanan keselamatan publik yang dikompromikan dalam serangan ransomware di departemen sheriff Kabupaten San Bernardino, .
- AWS Control Tower bertujuan untuk menyederhanakan manajemen multi-akun banyak organisasi yang berjuang untuk mengelola koleksi akun AWS mereka yang luas, tetapi Control Tower dapat membantu. Layanan mengotomatiskan .
- Hancurkan Model Harga Amazon EKS Ada beberapa variabel penting dalam model penetapan harga Amazon EKS. Gali nomor untuk memastikan Anda menggunakan layanan .
- Bandingkan EKS vs. Kubernetes yang dikelola sendiri di AWS pengguna AWS menghadapi pilihan saat menggunakan Kubernetes: jalankan sendiri di EC2 atau biarkan Amazon melakukan angkat berat dengan EKS. Melihat .
Cara menginstal linux, nginx, mysql, php (lemp stack) di ubuntu 16.04
Tumpukan Perangkat Lunak Lemp adalah sekelompok perangkat lunak yang dapat digunakan untuk melayani halaman web dan aplikasi web yang dinamis. Ini adalah akronim yang menjelaskan sistem operasi Linux, dengan server web nginx. Data backend disimpan dalam database MySQL dan pemrosesan dinamis ditangani oleh PHP.
Dalam panduan ini, kami akan mendemonstrasikan cara menginstal tumpukan lemp pada Ubuntu 16.04 Server. Sistem operasi Ubuntu menangani persyaratan pertama. Kami akan menjelaskan cara meningkatkan dan menjalankan komponen lainnya.
Prasyarat
Sebelum Anda menyelesaikan tutorial ini, Anda harus memiliki akun pengguna non-root reguler di server Anda dengan hak istimewa sudo. Anda dapat belajar cara mengatur jenis akun ini dengan menyelesaikan Ubuntu 16 kami.04 Pengaturan Server Awal.
Setelah pengguna Anda tersedia, masuk ke server Anda dengan nama pengguna itu. Anda sekarang siap untuk memulai langkah -langkah yang diuraikan dalam panduan ini.
Langkah 1: Instal server web nginx
Untuk menampilkan halaman web kepada pengunjung situs kami, kami akan mempekerjakan Nginx, server web yang modern dan efisien.
Semua perangkat lunak yang akan kami gunakan untuk prosedur ini akan datang langsung dari Ubuntu’repositori paket default. Ini berarti kami dapat menggunakan suite manajemen paket yang tepat untuk menyelesaikan instalasi.
Karena ini adalah pertama kalinya kami menggunakan APT untuk sesi ini, kami harus memulai dengan memperbarui indeks paket lokal kami. Kami kemudian dapat menginstal server:
Di Ubuntu 16.04, nginx dikonfigurasi untuk mulai berjalan saat instalasi.
Jika Anda menjalankan firewall UFW, sebagaimana diuraikan dalam panduan pengaturan awal kami, Anda harus mengizinkan koneksi ke nginx. Nginx mendaftarkan dirinya dengan UFW saat instalasi, jadi prosedurnya agak lurus ke depan.
Disarankan agar Anda mengaktifkan profil paling membatasi yang masih memungkinkan lalu lintas yang Anda inginkan. Sejak kami Haven’t yang dikonfigurasi SSL untuk server kami, dalam panduan ini, kami hanya perlu mengizinkan lalu lintas di port 80.
Anda dapat mengaktifkan ini dengan mengetik:
Anda dapat memverifikasi perubahan dengan mengetik:
Anda akan melihat lalu lintas HTTP diizinkan dalam output yang ditampilkan:
KeluaranStatus: Aktif untuk bertindak dari------- ---- OpenSsh memungkinkan di mana saja nginx http memungkinkan di mana saja openssh (v6) memungkinkan di mana saja (v6) nginx http (v6) memungkinkan di mana saja (v6)
Dengan aturan firewall baru yang ditambahkan, Anda dapat menguji apakah server sudah habis dan berjalan dengan mengakses server Anda’Nama domain S atau alamat IP publik di browser web Anda.
Jika Anda tidak memiliki nama domain yang diarahkan ke server Anda dan Anda tidak tahu server Anda’S Alamat IP publik, Anda dapat menemukannya dengan mengetik salah satu berikut ke terminal Anda:
Ini akan mencetak beberapa alamat IP. Anda dapat mencoba masing -masing dari mereka di browser web Anda.
Sebagai alternatif, Anda dapat memeriksa alamat IP mana yang dapat diakses seperti yang dilihat dari lokasi lain di Internet:
Ketik satu alamat yang Anda terima di browser web Anda. Itu harus membawa Anda ke nginx’Halaman pendaratan default:
http: //server_domain_or_ip
Jika Anda melihat halaman di atas, Anda telah berhasil menginstal Nginx.
Langkah 2: Instal MySQL untuk mengelola data situs
Sekarang kami memiliki server web, kami perlu menginstal MySQL, sistem manajemen basis data, untuk menyimpan dan mengelola data untuk situs kami.
Anda dapat menginstal ini dengan mudah dengan mengetik:
Anda akan diminta untuk menyediakan kata sandi root (administratif) untuk digunakan dalam sistem MySQL.
Perangkat lunak database MySQL sekarang diinstal, tetapi konfigurasinya belum lengkap.
Untuk mengamankan instalasi, kami dapat menjalankan skrip keamanan sederhana yang akan menanyakan apakah kami ingin memodifikasi beberapa default yang tidak aman. Mulailah skrip dengan mengetik:
Anda akan diminta untuk memasukkan kata sandi yang Anda tetapkan untuk akun MySQL Root. Selanjutnya, Anda akan ditanya apakah Anda ingin mengonfigurasi plugin Validasi Kata Sandi .
Peringatan: Mengaktifkan fitur ini adalah sesuatu dari panggilan penilaian. Jika diaktifkan, kata sandi yang don’t cocok dengan kriteria yang ditentukan akan ditolak oleh mysql dengan kesalahan. Ini akan menyebabkan masalah jika Anda menggunakan kata sandi yang lemah dalam hubungannya dengan perangkat lunak yang secara otomatis mengonfigurasi kredensial pengguna MySQL, seperti paket Ubuntu untuk phpMyadmin. Aman untuk meninggalkan validasi dinonaktifkan, tetapi Anda harus selalu menggunakan kata sandi yang kuat dan unik untuk kredensial basis data.
Menjawab y untuk ya, atau apa pun untuk melanjutkan tanpa memungkinkan.
Validasi Plugin Kata Sandi dapat digunakan untuk menguji kata sandi dan meningkatkan keamanan. Itu memeriksa kekuatan kata sandi dan memungkinkan pengguna untuk hanya mengatur kata sandi yang cukup aman. Apakah Anda ingin mengatur plugin kata sandi Validasi? Tekan y | y untuk ya, tombol lain untuk tidak:
Jika kamu’validasi yang diaktifkan, Anda’akan diminta untuk memilih tingkat validasi kata sandi. Ingatlah bahwa jika Anda masuk 2, Untuk level terkuat, Anda akan menerima kesalahan saat mencoba mengatur kata sandi apa pun yang tidak berisi angka, huruf atas dan huruf kecil, dan karakter khusus, atau yang didasarkan pada kata -kata kamus umum.
Ada tiga tingkat kebijakan validasi kata sandi: Panjang rendah> = 8 panjang sedang> = 8, numerik, case campuran, dan karakter khusus panjang kuat> = 8, numerik, case campuran, karakter khusus dan file kamus Harap masukkan 0 = rendah, 1 = medium dan 2 = kuat: 1
Jika Anda mengaktifkan validasi kata sandi, Anda’akan ditampilkan kekuatan kata sandi untuk kata sandi root yang ada, dan bertanya apakah Anda ingin mengubah kata sandi itu. Jika Anda senang dengan kata sandi Anda saat ini, masukkan N untuk “TIDAK” di prompt:
Menggunakan kata sandi yang ada untuk root. Memperkirakan kekuatan kata sandi: 100 Ubah kata sandi untuk root ? ((Tekan y | y untuk ya, tombol lainnya untuk tidak): N
Untuk sisa pertanyaan, Anda harus menekan Y dan tekan Memasuki Kunci di setiap prompt. Ini akan menghapus beberapa pengguna anonim dan database pengujian, menonaktifkan login root jarak jauh, dan memuat aturan baru ini sehingga MySQL segera menghormati perubahan yang telah kami buat.
Pada titik ini, sistem database Anda sekarang diatur dan kami dapat melanjutkan.
Langkah 3: Pasang PHP untuk diproses
Kami sekarang menginstal nginx untuk melayani halaman kami dan mysql yang diinstal untuk menyimpan dan mengelola data kami. Namun, kami masih tidak’t memiliki apa pun yang dapat menghasilkan konten dinamis. Kita bisa menggunakan php untuk ini.
Karena nginx tidak mengandung pemrosesan php asli seperti beberapa server web lainnya, kita perlu menginstal php-fpm, yang berarti “Fastcgi Process Manager”. Kami akan memberi tahu Nginx untuk meneruskan permintaan PHP ke perangkat lunak ini untuk diproses.
Kami dapat menginstal modul ini dan juga akan mengambil paket helper tambahan yang akan memungkinkan PHP untuk berkomunikasi dengan backend database kami. Instalasi akan menarik file inti PHP yang diperlukan. Lakukan ini dengan mengetik:
Konfigurasikan prosesor PHP
Kami sekarang menginstal komponen PHP kami, tetapi kami perlu membuat sedikit perubahan konfigurasi untuk membuat pengaturan kami lebih aman.
Buka file konfigurasi PHP-FPM utama dengan hak istimewa root:
Apa yang kami cari di file ini adalah parameter yang menetapkan CGI.fix_pathinfo . Ini akan dikomentari dengan semi-kolon (;) dan diatur ke “1” secara default.
Ini adalah pengaturan yang sangat tidak aman karena memberitahu PHP untuk mencoba menjalankan file terdekat yang dapat ditemukan jika file PHP yang diminta tidak dapat ditemukan. Ini pada dasarnya akan memungkinkan pengguna untuk membuat permintaan PHP dengan cara yang memungkinkan mereka untuk menjalankan skrip yang seharusnya bukan’t diizinkan untuk mengeksekusi.
Kami akan mengubah kedua kondisi ini dengan membuka komentar dan mengaturnya “0” seperti ini:
/etc/php/7.0/fpm/php.ini
CGI.fix_pathinfo = 0
Simpan dan tutup file saat Anda selesai.
Sekarang, kita hanya perlu memulai kembali prosesor PHP kita dengan mengetik:
Ini akan menerapkan perubahan yang kami buat.
Langkah 4: Mengkonfigurasi Nginx untuk menggunakan prosesor PHP
Sekarang, kami memasang semua komponen yang diperlukan. Satu -satunya perubahan konfigurasi yang masih kami butuhkan adalah memberi tahu Nginx untuk menggunakan prosesor PHP kami untuk konten dinamis.
Kami melakukan ini pada level blok server (blok server mirip dengan Apache’h host virtual). Buka file konfigurasi blok Nginx Server default dengan mengetik:
Saat ini, dengan komentar dihapus, file blok server default Nginx terlihat seperti ini:
/etc/nginx/situs-tersedia/default
server < listen 80 default_server; listen [::]:80 default_server; root /var/www/html; index index.html index.htm index.nginx-debian.html; server_name _; location / < try_files $uri $uri/ =404; >>
Kami perlu membuat beberapa perubahan pada file ini untuk situs kami.
- Pertama, kita perlu menambahkan indeks.PHP sebagai nilai pertama dari Petunjuk Indeks kami sehingga file bernama Indeks.PHP dilayani, jika tersedia, saat direktori diminta.
- Kami dapat memodifikasi arahan server_name untuk menunjuk ke server kami’Nama domain S atau alamat IP publik.
- Untuk pemrosesan PHP yang sebenarnya, kita hanya perlu membatalkan komentar segmen file yang menangani permintaan PHP dengan menghapus simbol pound (#) dari depan setiap baris. Ini akan menjadi lokasi ~ \.blok lokasi php $, fastcgi-php yang disertakan.conf snippet, dan soket yang terkait dengan php-fpm .
- Kami juga akan membuka komentar blok lokasi yang berurusan dengan .file htaccess menggunakan metode yang sama. Nginx tidak’t Memproses file -file ini. Jika salah satu dari file -file ini kebetulan menemukan jalan mereka ke dalam root dokumen, mereka tidak boleh dilayani kepada pengunjung.
Perubahan yang perlu Anda lakukan berwarna merah di bawah teks di bawah ini:
/etc/nginx/situs-tersedia/default
server < listen 80 default_server; listen [::]:80 default_server; root /var/www/html; index indeks.php indeks.Indeks HTML.indeks htm.Nginx-debian.html; nama server server_domain_or_ip; Lokasi / < try_files $uri $uri/ =404; >Lokasi ~ \.php $ Sertakan cuplikan/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.0-fpm.kaus kaki; > Lokasi ~ /\.ht menyangkal semua; > >
Saat Anda’ve membuat perubahan di atas, Anda dapat menyimpan dan menutup file.
Uji file konfigurasi Anda untuk kesalahan sintaks dengan mengetik:
Jika ada kesalahan yang dilaporkan, kembalikan dan periksa kembali file Anda sebelum melanjutkan.
Saat Anda siap, muat ulang nginx untuk membuat perubahan yang diperlukan:
Langkah 5: Buat file php untuk menguji konfigurasi
Tumpukan lemp Anda sekarang harus sepenuhnya diatur. Kita dapat mengujinya untuk memvalidasi bahwa nginx dapat dengan benar menyerahkan .File PHP berangkat ke prosesor PHP kami.
Kami dapat melakukan ini dengan membuat file php uji di root dokumen kami. Buka file baru yang disebut info.PHP dalam root dokumen Anda di editor teks Anda:
Ketik atau tempel baris berikut ke dalam file baru. Ini adalah kode PHP yang valid yang akan mengembalikan informasi tentang server kami:
/var/www/html/info.php
Setelah selesai, simpan dan tutup file.
Sekarang, Anda dapat mengunjungi halaman ini di browser web Anda dengan mengunjungi server Anda’Nama domain S atau alamat IP publik diikuti oleh /info.PHP:
http: //server_domain_or_ip/info.php
Anda harus melihat halaman web yang telah dihasilkan oleh PHP dengan informasi tentang server Anda:
Jika Anda melihat halaman yang terlihat seperti ini, Anda’VE mengatur pemrosesan PHP dengan Nginx berhasil.
Setelah memverifikasi bahwa nginx merender halaman dengan benar, itu’yang terbaik untuk menghapus file yang Anda buat karena benar -benar dapat memberi pengguna yang tidak sah beberapa petunjuk tentang konfigurasi Anda yang dapat membantu mereka mencoba masuk. Anda selalu dapat meregenerasi file ini jika Anda membutuhkannya nanti.
Untuk saat ini, hapus file dengan mengetik:
Kesimpulan
Anda sekarang harus memiliki tumpukan LEMP yang dikonfigurasi di Ubuntu 16 Anda.04 Server. Ini memberi Anda dasar yang sangat fleksibel untuk melayani konten web kepada pengunjung Anda.
Terima kasih telah belajar dengan komunitas DigitalOcean. Lihat penawaran kami untuk menghitung, penyimpanan, jaringan, dan database yang dikelola.