Nginx’in php var mı
FastCGI (PHP-FPM) Örneği ile Nginx’te PHP nasıl kurulur
1. Yapılandırma: Hata:. XML2-CONFIG Bulunmadı Lütfen libxml2 kurulumunuzu kontrol edin.
Nginx’in php var mı
Bir şey biraz farklıysa kaynaktan bina kolay değil ve bazı dizin ve yapılandırma seçenekleriyle zor zamanlar geçirdim. Çince’den tercüme edilen bu siteyi bulana kadar web’in etrafında akıyordum. Başka hiç kimse çözüme sahip değildi. PHP FPM’nin dizini değiştirene kadar başlamasını sağlayamadım (Madde 2.Hata: Globalalize edilemiyor). Listelenen başka sorunlarım vardı ama onları çözebildim. Lütfen bunu silmeyin, çok yararlı bilgi.
Orijinal site (Çince değil, sitem değil, ama kredi vermek istiyorum):
(Orada biraz daha var, siteye gidebilirsiniz)
1. Yapılandırma: Hata:. XML2-CONFIG Bulunmadı Lütfen libxml2 kurulumunuzu kontrol edin.
apt-get yükleme libxml2-dev
2.UYARI: Pear_installer :: İndir () ‘nin bildirimi, &////oot/php-7’de &////////////////////////////////////////oot) ile uyumlu olmalıdır.0.0alpha1/armut/kurulum-Pear-nozlib.phar /armut /yükleyici.43 satırda PHP
UYARI: Pear_packageFile_Parser_V2 :: Parse () Beyanı Pear_xmlparser :: Parse ($ Data) ile uyumlu olmalıdır: /// root/php-7.0.0alpha1/armut/kurulum-Pear-nozlib.Phar/ Pear/ Packfile/ Parser/ V2.113. satırda PHP
[Armut] archive_tar – zaten yüklü: 1.3.13
[Armut] Console_getopt – zaten yüklü: 1.3.1
[Armut] yapılar_graph- zaten yüklü: 1.0.4
UYARI: Pear_task_replace :: init () ‘nin bildirimi Pear_task_common :: init ($ xml, $ fileattributes, $ LastVersion) ile uyumlu olmalıdır: /// root/php-7.0.0alpha1/armut/kurulum-Pear-nozlib. phar / armut / görev / değiştir.31. satırda PHP
[Armut] xml_util – zaten yüklü: 1.2.3
UYARI: Pear_task_windowseol :: init () ‘nin bildirimi Pear_task_common :: init ($ xml, $ fileattributes, $ LastVersion) ile uyumlu olmalıdır: /// root/php-7.0.0alpha1/armut/kurulum-Pear-nozlib. phar / armut / görev / windowseol.76 satırında PHP
UYARI: Pear_task_unixeol :: init () ‘nin bildirimi Pear_task_common :: init ($ xml, $ fileattributes, $ LastVersion) ile uyumlu olmalıdır: /// root/php-7.0.0alpha1/armut/kurulum-Pear-nozlib. phar / armut / görev / unixeol.76 satırında PHP
[Armut] armut – zaten yüklü: 1.9.5
1.Hata: Yapılandırma dosyasını açılamadı ‘/usr/local/etc/php-fpm.Conf ‘: Böyle bir dosya veya dizin yok (2)
Hata: Yapılandırma dosyası ‘/usr/local/etc/php-fpm yüklenemedi.Conf ‘
Hata: FPM başlatma başarısız oldu
PHP-FPM.Conf dosyalarını kaynak dosyadan o konuma kopyala.
CP /Root /PHP-7.0.0alpha1/sapi/fpm/php-fpm.conf/usr/local/etc/php-fpm.conf
2.Hata: Globalalize edilemiyor ‘/usr/local/none/etc/php-fpm.D/*.Conf ‘(ret = 2)/usr/local/etc/php-fpm’den.125. satırda conf.
Hata: Yapılandırma dosyası ‘/usr/local/etc/php-fpm yüklenemedi.Conf ‘
Hata: FPM başlatma başarısız oldu
Düzenle/usr/local/etc/php-fpm.Conf belgesi tanıtıldı * .conf kısmı, doğru yolu değiştirin = / usr / local / etc / php-fpm.D / *. Conf
/Usr/local/etc/php-fpm yoksa.d dizin, dizini oluştur.
3.Uyarı: Hiçbir şey dahil desen ‘/usr/local/etc/php-fpm ile eşleşmez.D/*.Conf ‘/usr/local/etc/php-fpm’den.125. satırda conf.
HATA:. Yapılandırma dosyasında en az bir havuz bölümü tanımlanmamış havuz belirtilmemelidir
Hata: Yapılandırmayı işlemeden sonrası başarısız oldu
Hata: FPM başlatma başarısız oldu
CP www.conf.Varsayılan www.conf
4.Hata: [Havuz www] ‘Grup’ Kimse ‘için GID bulamaz
Hata: FPM başlatma başarısız oldu
Www.Conf Dosyaları, Kullanıcı ve Grup Kullanıcılarını NGINX Varsayılan Ayarlarına Open, Genellikle varsayılan WWW-DATA’dır.
1 yıl önce
Sunucu performansını en yüksek hızda en üst düzeye çıkarmak için, en az kaynakla PHP 8’i minimal Linux/Unix tabanlı işletim sisteminden manuel olarak derlemeye karar verdim (Linux dağıtım RPM tabanlı paketlerdir)
Sistemim PHP 8 tarafından başarıyla yükseldi.0.9 – OPCACHE/JIT etkin ve diğer birkaç PHP uzatma modülü ile. İşte size birkaç saatlik araştırma kurtarabilecek birkaç deneyim.
1. Adımdan Önce (3) – PHP’yi yapılandırın ve oluşturun – Hatanın gerçekleşmediğinden emin olmak için önkoşul kütüphaneme başvurabilirsiniz.
sudo dnf yükleme \
GCC GCC-C ++ CMake Autoconfig \
Zlib Zlib-Devel PCRE PCRE-DEVEL \
libxml2-devel libxslt-devevel \
BZIP2-DEVEL CURL-DEVEL LIBZIP-DEVEL \
SQLite-Devel \
Systemd-Devel \
Openssl-Devel \
libffi-devevel \
libpng libpng-devevel libwebp libwebp-devevel libjpeg libjpeg-devevel libxpm libxpm-devevel \
Freetype-Devel \
GMP-Devel \
libldb-devel \
LIBC-Slient LIBC-Slient-Devel \
openldap openldap-devel \
oniguruma oniguruma-devevel \
Net-snmp-Devel Readline-Devel Unixodbc-Devel \
UW-IMAP UW-IMAP-DEVEL UW-IMAP-STATİK UW-IMAP-UTILS \
libicu-devel \
Enchant2 Enchant2-Devel \
GD GD-Devel \
libsodium libsodium-devel \
libtidy libtidy-decel
Çıkarırken bir hata alamayabilirsiniz ./yapılandırın, ve yüklemenin. PHP Uzatma Paketinizi manuel olarak daha sonra oluşturduğunuzda bile.
2. 5. Adımda – PHP’yi değiştirmeden önce.INI – Mevcut PHP’nin hangi PHP’yi okuduğunu iki kez kontrol edebilirsiniz.Bu komutla ini dosyası
PHP -ini | grep php.ini
# Sonucum. Öğreticiden farklı.
Yapılandırma Dosyası (PHP.INI) Yol =>/USR/Local/Lib
Yüklü yapılandırma dosyası =>/usr/local/lib/php.ini
4 yıl önce
PHP-FPM’yi başlatmak için aşağıdaki komutu çalıştırdığımda:
/usr/local/bin/php-fpm
Aşağıdaki hata bilgilerini aldım:
Globalize edilemiyor ‘/usr/local/none/etc/php-fpm.D/*.Conf ‘(ret = 2)/usr/local/etc/php-fpm’den.143. satırda conf.
Bu hatayı çözmek için:
ST’yi değiştir
FastCGI (PHP-FPM) Örneği ile Nginx’te PHP nasıl kurulur
1. Yapılandırma: Hata:. XML2-CONFIG Bulunmadı Lütfen libxml2 kurulumunuzu kontrol edin.
Nginx’in php var mı
Bir şey biraz farklıysa kaynaktan bina kolay değil ve bazı dizin ve yapılandırma seçenekleriyle zor zamanlar geçirdim. Çince’den tercüme edilen bu siteyi bulana kadar web’in etrafında akıyordum. Başka hiç kimse çözüme sahip değildi. PHP FPM’nin dizini değiştirene kadar başlamasını sağlayamadım (Madde 2.Hata: Globalalize edilemiyor). Listelenen başka sorunlarım vardı ama onları çözebildim. Lütfen bunu silmeyin, çok yararlı bilgi.
Orijinal site (Çince değil, sitem değil, ama kredi vermek istiyorum):
(Orada biraz daha var, siteyi alabilirsin)
1. Yapılandırma: Hata:. XML2-CONFIG Bulunmadı Lütfen libxml2 kurulumunuzu kontrol edin.
apt-get yükleme libxml2-dev
2.UYARI: Pear_installer :: İndir () ‘nin bildirimi, &////oot/php-7’de &////////////////////////////////////////oot) ile uyumlu olmalıdır.0.0alpha1/armut/kurulum-Pear-nozlib.phar /armut /yükleyici.43 satırda PHP
UYARI: Pear_packageFile_Parser_V2 :: Parse () Beyanı Pear_xmlparser :: Parse ($ Data) ile uyumlu olmalıdır: /// root/php-7.0.0alpha1/armut/kurulum-Pear-nozlib.Phar/ Pear/ Packfile/ Parser/ V2.113. satırda PHP
[Armut] archive_tar – zaten yüklü: 1.3.13
[Armut] Console_getopt – zaten yüklü: 1.3.1
[Armut] yapılar_graph- zaten yüklü: 1.0.4
UYARI: Pear_task_replace :: init () ‘nin bildirimi Pear_task_common :: init ($ xml, $ fileattributes, $ LastVersion) ile uyumlu olmalıdır: /// root/php-7.0.0alpha1/armut/kurulum-Pear-nozlib. phar / armut / görev / değiştir.31. satırda PHP
[Armut] xml_util – zaten yüklü: 1.2.3
UYARI: Pear_task_windowseol :: init () ‘nin bildirimi Pear_task_common :: init ($ xml, $ fileattributes, $ LastVersion) ile uyumlu olmalıdır: /// root/php-7.0.0alpha1/armut/kurulum-Pear-nozlib. phar / armut / görev / windowseol.76 satırında PHP
UYARI: Pear_task_unixeol :: init () ‘nin bildirimi Pear_task_common :: init ($ xml, $ fileattributes, $ LastVersion) ile uyumlu olmalıdır: /// root/php-7.0.0alpha1/armut/kurulum-Pear-nozlib. phar / armut / görev / unixeol.76 satırında PHP
[Armut] armut – zaten yüklü: 1.9.5
1.Hata: Yapılandırma dosyasını açılamadı ‘/usr/local/etc/php-fpm.Conf ‘: Böyle bir dosya veya dizin yok (2)
Hata: Yapılandırma dosyası ‘/usr/local/etc/php-fpm yüklenemedi.Conf ‘
Hata: FPM başlatma başarısız oldu
PHP-FPM.Conf dosyalarını kaynak dosyadan o konuma kopyala.
CP /Root /PHP-7.0.0alpha1/sapi/fpm/php-fpm.conf/usr/local/etc/php-fpm.conf
2.Hata: Globalalize edilemiyor ‘/usr/local/none/etc/php-fpm.D/*.Conf ‘(ret = 2)/usr/local/etc/php-fpm’den.125. satırda conf.
Hata: Yapılandırma dosyası ‘/usr/local/etc/php-fpm yüklenemedi.Conf ‘
Hata: FPM başlatma başarısız oldu
Düzenle/usr/local/etc/php-fpm.Conf belgesi tanıtıldı * .conf kısmı, doğru yolu değiştirin = / usr / local / etc / php-fpm.D / *. Conf
/Usr/local/etc/php-fpm yoksa.d dizin, dizini oluştur.
3.Uyarı: Hiçbir şey dahil desen ‘/usr/local/etc/php-fpm ile eşleşmez.D/*.Conf ‘/usr/local/etc/php-fpm’den.125. satırda conf.
HATA:. Yapılandırma dosyasında en az bir havuz bölümü tanımlanmamış havuz belirtilmemelidir
Hata: Yapılandırmayı işlemenin gönderilmemesi
Hata: FPM başlatma başarısız oldu
CP www.conf.Varsayılan www.conf
4.Hata: [Havuz www] ‘Grup’ Kimse ‘için GID bulamaz
Hata: FPM başlatma başarısız oldu
Www.Conf Dosyaları, Kullanıcı ve Grup Kullanıcılarını NGINX Varsayılan Ayarlarına Open, Genellikle varsayılan WWW-DATA’dır.
1 yıl önce
Sunucu performansını en yüksek hızda en üst düzeye çıkarmak için PHP 8’i minimal Linux/Unix tabanlı işletim sisteminden manuel olarak derlemeye karar verdim (Linux dağıtım RPM tabanlı paketlerdir)
Sistemim PHP 8 tarafından başarıyla yükseldi.0.9 – OPCACHE/JIT Etkin ve Diğer Birkaç PHP Uzatma Modülü ile. İşte size birkaç saatlik araştırma kurtarabilecek birkaç deneyim.
1. Adımdan Önce (3) – PHP’yi yapılandırın ve oluşturun – Hatanın olmadığından emin olmak için önkoşul kütüphaneme başvurabilirsiniz.
sudo dnf yükleme \
GCC GCC-C ++ CMake Autoconfig \
Zlib Zlib-Devel PCRE PCRE-DEVEL \
libxml2-devel libxslt-devevel \
BZIP2-DEVEL CURL-DEVEL LIBZIP-DEVEL \
SQLite-Devel \
Systemd-Devel \
Openssl-Devel \
libffi-devevel \
libpng libpng-devevel libwebp libwebp-devevel libjpeg libjpeg-devevel libxpm libxpm-devevel \
Freetype-Devel \
GMP-Devel \
libldb-devel \
LIBC-Slient LIBC-Slient-Devel \
openldap openldap-devel \
oniguruma oniguruma-devevel \
Net-snmp-Devel Readline-Devel Unixodbc-Devel \
UW-IMAP UW-IMAP-DEVEL UW-IMAP-STATİK UW-IMAP-UTILS \
libicu-devel \
Enchant2 Enchant2-Devel \
GD GD-Devel \
libsodium libsodium-devel \
libtidy libtidy-decel
Çıkarken hata alamayabilirsiniz ./yapılandırın, ve yüklemenin. PHP Uzatma Paketinizi manuel olarak daha sonra oluşturduğunuzda bile.
2. 5. Adımda – PHP’yi değiştirmeden önce.INI – Mevcut PHP’nin hangi PHP’yi okuduğunu iki kez kontrol edebilirsiniz.Bu komutla ini dosyası
PHP -ini | grep php.ini
# Sonucum. Öğreticiden farklı.
Yapılandırma Dosyası (PHP.INI) Yol =>/USR/Local/Lib
Yüklü yapılandırma dosyası =>/usr/local/lib/php.ini
4 yıl önce
PHP-FPM’yi başlatmak için aşağıdaki komutu çalıştırdığımda:
/usr/local/bin/php-fpm
Aşağıdaki hata bilgilerini aldım:
Globalize edilemiyor ‘/usr/local/none/etc/php-fpm.D/*.Conf ‘(ret = 2)/usr/local/etc/php-fpm’den.143. satırda conf.
Bu hatayı çözmek için:
“Icture = none/etc/php-fpm dizesini değiştirin.D/*.conf “to” Incors = etc/php-fpm.D/*.Conf “Dosyada”/usr/local/etc/php-fpm.Conf “Metin Düzenleyicisi ile.
Bundan sonra, PHP-FPM’yi tekrar başlatmaya çalışıyorum ve tekrar hata bilgileri aldım:
Hiçbir şey dahil desen ‘/usr/local/etc/php-fpm ile eşleşmez.D/*.Conf ‘/usr/local/etc/php-fpm’den.143. satırda conf.
Bu hatayı çözmek için:
cp/usr/local/etc/php-fpm.D/www.conf.varsayılan/usr/local/etc/php-fpm.D/www.conf
4 yıl önce
CP PHP/PHP.INI geliştirme PHP/LIB/PHP.ini
CP PHP/etc/php-fpm.conf.Varsayılan PHP/etc/php-fpm.conf
CP PHP/etc/php-fpm.D/www.conf.Varsayılan PHP/etc/php-fpm.D/www.conf
3 yıl once
Linux sisteminde, sistem hizmetine PHP-FPM hizmeti eklemek istiyorsanız; Bunu yapmak kolaydır, çünkü PHP ilişkili kabuk komut dosyasını sunar:
Make and Make Install’dan sonra; SAPI/FPM/Init Kaynak Kod Paketi’ni girin.D.PHP-FPM; Linux sistemine kodu yazın.
CP sapi/fpm/init.D.php-fpm /etc /init.d/php-fpm
O zaman “php-fpm kullanabilirsiniz
7 yıl önce
“Dosya Bulunmadı” Hatası alırsanız, PHP Konum Bloğu I’e “Root_dir_Location” yönergesini ekle.e. “Konum ~* \.PHP $ < >“burada root_dir_location”/usr/share/nginx/html “gibi kök dizinidir .
7 yıl önce
3. Adımda, “sudo yap kurulum” komutundan sonra
Armut ile ilgili sorun varsa.PHP.Net (HTTPS). Makefile’da bu satırı (HTTPS’den HTTP’ye) değiştirmeniz gerekiyor
Pear_installer_url = http: // armut.PHP.Net/Install-Pear-Nozlib.far
11 ay önce
Bu öğretici için büyük çaba, bir ton teşekkürler, işte notlarım, WSL2 kapsayıcısında varsayılan yüklemeyi düşünerek herkese yardım edebilirse
Not: Laravel çerçevesi için besteci eklendi.
Bunlar, bazı komutların yanında ek açıklamalar olduğu için kopyalama ve olduğu gibi yapıştırılmamalıdır,
Ayrıca # Mevcut ortamıma uyumsuzluk nedeniyle orijinal editör tarafından yazılan bazı varsayılanlar yorumladım.
SHA256SUM PHP-X.X.X.katran.gz => e847745fd66fc8c57fac993a609ffcded93fddccd25f0620a26bb5ae5753c3
TAR ZXF PHP-X.X.X
sudo apt kurulum kurma esasen
sudo apt kurulumu -y besteci nginx pkgconf libxml2-dev libsqlite3-dev zlib1g-dev
CD PHP-X.X.X
./configure –enable-fpm–mysqli ile sudo yapmak Sudo Test Yapma Sudo CP PHP.INI geliştirme/usr/local/lib/php.ini
sudo cp/usr/local/etc/php-fpm.D/www.conf.varsayılan/usr/local/etc/php-fpm.D/www.conf
sudo cp sapi/fpm/php-fpm/usr/lokal/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/local/vb
/usr/local/bin/php -v sudo/usr/local/bin/php-fpm sudo vim/etc/nginx/siteler-kullanılabilir/varsayılan
Konum / #Root HTML;
#index dizin.PHP dizin.HTML dizin.HTM;
>
Konum ~* \.PHP $ #fastcgi_index dizin.PHP;
fastcgi_pass 127.0.0.1: 9000;
fastcgi_params dahil;
fastcgi_param script_filename $ document_root $ fastcgi_script_name;
fastcgi_param script_name $ fastcgi_script_name;
>
*Nginx’i yeniden başlatın (root/var/www/html) Kök yolu yoksa, varsayılan:/usr/share/nginx/html
sudo nginx -t sudo service nginx reload
sudo service nginx stop
sudo service nginx start
PHP -FPM’nin bir hizmette olması veya PS -Aux | grep php-fpm; öldürmek
Nginx’in php var mı
- 4 Kurumsal Mimar Becerileri Kesinlikle bir kurumsal mimar olmak için çok fazla göz ardı etmemelisiniz, hangi beceriler üzerinde kalmak için mutlak ‘sahip olmalı’.
- Falcor vs. GraphQL: Her ikisi de benzer bir nihai hedefe iki yaklaşımı temsil ederken, GraphQL ve Falcor arasında bazı temel farklılıklar vardır .
- Karbon programlama diline hızlı bir bakış Carbon, C ++ omuzlarında durmak için inşa edilen deneysel bir programlama dilidir – ancak bellek güvenliğine yeni bir bakışla.
- Google, kendi bulutunda üretken AI genişlemesini, bir kodlama asistanı da dahil olmak üzere yeni üretken AI özellikleri, bu hafta önizleme demolarında GCP’ye yakından bağlanırken, .
- Chatgpt kodlama için düşük kodlu platformlardan daha mı iyi? Chatgpt kod yazabilir, ancak kodu entegre edemez veya tasarım fikirleri üretemez. Ayrıca, güvenlik ve lisanslama riskleri oluşturmaktadır. Şimdilik.
- Yazılım testi yedekliliğini azaltmak için birkaç basit strateji Kapsamlı test kapsamı bir zorunluluk olsa da, yazılım ekipleri süitlerin olmasını önlemek için bilinçli çaba sarf etmelidir .
- Google, Google I/O 2023’ten üretken yapay zekayı ikiye katladı, Enterprise Strategi Grubu’nun Paul Nashawaty Google Arama, Fotoğraflar, Haritalar ve .
- Güvenlik Uzmanları Bulut Denetimi En İyi Uygulamalarını Paylaşın Bir Bulut Denetimi Kuruluşların Bulut Satıcı Performansını Değerlendirmesine izin verir. Denetim Uzmanları Shinesa Cambric ve Michael Ratemo Talk .
- Google Cloud Run ile Google Cloud Run’da bir uygulamayı dağıtın .
- Crowdstrike, sanallaştırma teknolojisinin kurumsal olarak benimsenmesi arttıkça VMware ESXI hipervizör saldırılarında artış konusunda uyarıyor, Crowdstrike sunuculardaki fidye yazılımı saldırılarında bir artış gözlemledi .
- BL00DY RANSOMWARE Gang, Papercut Kusurlu Okulları Hedefler Bl00DY Fidye Yazılımı Çetesi, Okulları Kritik Bir Uzaktan Kod Yürütme Kusuruyla Hedefliyor .
- Uzmanlar San Bernardino’nun 1 $ ‘ı sorguluyor.1M Fidye Ödemesi San Bernardino İlçesi Şerif Departmanına yönelik fidye yazılımı saldırısında hiçbir kamu güvenliği hizmeti tehlikeye girmese de, .
- AWS Kontrol Kulesi, Çok Alan Yönetimi Basitleştirmeyi Hedefler Birçok kuruluş, geniş AWS hesaplarını yönetmek için mücadele ediyor, ancak kontrol kulesi yardımcı olabilir. Hizmet otomatikleştiriyor .
- Amazon EKS Fiyatlandırma Modelini Bırakın Amazon EKS Fiyatlandırma Modeli içinde birkaç önemli değişken var. Hizmeti dağıttığınızdan emin olmak için numaralara kazın .
- EKS VS’yi karşılaştırın. AWS AWS kullanıcılarında kendi kendine yönetilen Kubernetes, Kubernetes’i dağıtırken bir seçimle karşılaşır: Kendilerini EC2’de çalıştırın veya Amazon’un EKS ile ağır kaldırma yapmasına izin verin. Görmek .
Ubuntu 16’ya Linux, Nginx, MySQL, PHP (LEMP yığını) nasıl yüklenir.04
LEMP Software Stack, dinamik web sayfaları ve web uygulamaları sunmak için kullanılabilecek bir grup yazılımdır. Bu, bir Nginx web sunucusu ile bir Linux işletim sistemini tanımlayan bir kısaltmadır. Arka uç verileri MySQL veritabanında saklanır ve dinamik işlem PHP tarafından işlenir.
Bu kılavuzda, Ubuntu 16’ya bir LEMP yığınının nasıl kurulacağını göstereceğiz.04 Sunucu. Ubuntu işletim sistemi ilk gereksinimi hallediyor. Bileşenlerin geri kalanını nasıl çalıştıracağınızı açıklayacağız.
Önkoşul
Bu öğreticiyi tamamlamadan önce, sunucunuzda SUDO ayrıcalıklarıyla düzenli, kök olmayan bir kullanıcı hesabınız olmalı. Ubuntu 16’umuzu tamamlayarak bu tür bir hesabı nasıl kuracağınızı öğrenebilirsiniz.04 İlk Sunucu Kurulumu.
Kullanıcınızı hazırladıktan sonra, bu kullanıcı adıyla sunucunuzda oturum açın. Artık bu kılavuzda özetlenen adımlara başlamaya hazırsınız.
1. Adım: Nginx Web Sunucusunu Yükle
Site ziyaretçilerimize web sayfalarını görüntülemek için, modern, verimli bir web sunucusu olan Nginx’i istihdam edeceğiz.
Bu prosedür için kullanacağımız tüm yazılımlar doğrudan Ubuntu’dan gelecek’S varsayılan paket depoları. Bu, kurulumu tamamlamak için APT Paket Yönetimi paketini kullanabileceğimiz anlamına gelir.
Bu oturum için Apt’i ilk kez kullandığımız için, yerel paket dizinimizi güncelleyerek başlamalıyız. Daha sonra sunucuyu yükleyebiliriz:
Ubuntu 16’da.04, Nginx kurulum üzerine çalışmaya başlayacak şekilde yapılandırılmıştır.
İlk kurulum kılavuzumuzda belirtildiği gibi UFW güvenlik duvarı çalışıyorsa, Nginx’e bağlantılara izin vermeniz gerekecektir. Nginx, kurulum sırasında UFW ile kendini kaydeder, bu nedenle prosedür oldukça basittir.
İstediğiniz trafiğe hala izin verecek en kısıtlayıcı profili etkinleştirmeniz önerilir. HAVANIRDAN ÇOK’T sunucumuz için yapılandırılmış SSL, bu kılavuzda, yalnızca 80 numaralı bağlantı noktasında trafiğe izin vermemiz gerekecek.
Bunu yazarak etkinleştirebilirsiniz:
Değişikliği yazarak doğrulayabilirsiniz:
Görüntülenen çıktıda izin verilen HTTP trafiğini görmelisiniz:
ÇıktıDurum: etkin harekete geçin------- ------ Openssh herhangi bir yere izin verir Nginx http herhangi bir yere izin verir OpenSsh (v6) herhangi bir yere izin verir (v6) nginx http (v6) herhangi bir yere izin verir (v6)
Yeni güvenlik duvarı kuralı eklendiğinde, sunucunuza erişerek sunucunun hazır olup olmadığını test edebilirsiniz’S web tarayıcısınızdaki alan adı veya genel IP adresi.
Sunucunuza işaret eden bir etki alanı adınız yoksa ve sunucunuzu bilmiyorsanız’S genel IP adresi, aşağıdakilerden birini terminalinize yazarak bulabilirsiniz:
Bu birkaç IP adresi yazdıracak. Her birini Web tarayıcınızda sırayla deneyebilirsiniz.
Alternatif olarak, internetteki diğer konumlardan hangi IP adresinin görüntülendiği gibi erişilebilir olduğunu kontrol edebilirsiniz:
Web tarayıcınızda aldığınız adreslerden birini yazın. Seni nginx’e götürmeli’s Varsayılan açılış sayfası:
http: //Server_domain_or_ip
Yukarıdaki sayfayı görürseniz, Nginx’i başarıyla yüklediniz.
Adım 2: Site verilerini yönetmek için MySQL’i yükleyin
Artık bir web sunucumuz olduğuna göre, sitemiz için verileri depolamak ve yönetmek için bir veritabanı yönetim sistemi olan MySQL’i yüklememiz gerekiyor.
Bunu yazarak kolayca yükleyebilirsiniz:
MySQL sisteminde kullanım için bir kök (yönetimsel) şifre sağlamanız istenecektir.
MySQL veritabanı yazılımı artık yüklendi, ancak yapılandırması henüz tam değil.
Kurulumu güvence altına almak için, bazı güvensiz varsayılanları değiştirmek isteyip istemediğimizi soracak basit bir güvenlik komut dosyası çalıştırabiliriz. Komut dosyasına yazarak başlayın:
MySQL kök hesabı için belirlediğiniz şifreyi girmeniz istenecek. Ardından, şifre eklentisini doğrula yapılandırmak isteyip istemediğiniz sorulacak .
Uyarı: Bu özelliğin etkinleştirilmesi bir yargı çağrısıdır. Etkinleştirilirse,’t Match Belirtilen kriterler MySQL tarafından bir hata ile reddedilecektir. PHPMyAdmin için Ubuntu paketleri gibi MySQL kullanıcı kimlik bilgilerini otomatik olarak yapılandıran yazılımla birlikte zayıf bir şifre kullanırsanız sorunlara neden olur. Doğrulama devre dışı bırakmak güvenlidir, ancak veritabanı kimlik bilgileri için her zaman güçlü, benzersiz şifreler kullanmalısınız.
Cevap y Evet veya etkinleştirmeden devam edecek başka bir şey.
Parola eklentisini doğrulayın, şifreleri test etmek ve güvenliği artırmak için kullanılabilir. Şifrenin gücünü kontrol eder ve kullanıcıların yalnızca yeterince güvenli olan şifreleri ayarlamasına izin verir. Parola eklentisini doğrulamak için ayarlamak ister misiniz?? Evet için y | y tuşuna basın, başka herhangi bir anahtar:
Eğer sen’VE etkin doğrulama, siz’Bir şifre doğrulama düzeyini seçmeniz istenecek. Unutmayın, eğer girerseniz 2, En güçlü düzeyde, sayılar, üst ve küçük harfler ve özel karakterler içermeyen veya ortak sözlük kelimelerine dayanan herhangi bir şifre ayarlamaya çalışırken hata alırsınız.
Üç parola doğrulama politikası vardır: düşük uzunluk> = 8 orta uzunluk> = 8, sayısal, karışık vaka ve özel karakterler güçlü uzunluk> = 8, sayısal, karışık kasa, özel karakterler ve sözlük dosyası lütfen 0 = düşük, 1 = orta ve 2 = güçlü girin: güçlü: 1
Parola doğrulamasını etkinleştirdiyseniz,’Mevcut kök parolası için bir şifre gücü gösterilmeli ve bu şifreyi değiştirmek isteyip istemediğinizi sorabilirsiniz. Mevcut şifrenizden memnunsanız, girin N için “HAYIR” İstemi:
Kök için mevcut şifreyi kullanmak. Parolanın tahmini gücü: 100 Kök için şifreyi değiştirin ? ((Evet için y | y tuşuna basın, hayır için başka bir anahtar): N
Geri kalan sorular için basmalısınız Y Ve vur Girmek Her istemde anahtar. Bu, bazı anonim kullanıcıları ve test veritabanını kaldıracak, uzaktan kök girişlerini devre dışı bırakacak ve bu yeni kuralları yükleyecek, böylece MySQL derhal yaptığımız değişikliklere saygı duyuyor.
Bu noktada, veritabanı sisteminiz artık kuruldu ve devam edebiliriz.
Adım 3: İşleme için PHP’yi yükleyin
Şimdi Nginx, sayfalarımızı sunmak için yükledik ve verilerimizi saklamak ve yönetmek için MySQL yüklü. Ancak hala yapmıyoruz’t dinamik içerik üretebilecek herhangi bir şeyim var. Bunun için PHP’yi kullanabiliriz.
Nginx, diğer bazı web sunucuları gibi yerel PHP işlemlerini içermediğinden, PHP-FPM’yi yüklememiz gerekecek “Fastcgi Process Manager”. Nginx’e işleme için bu yazılıma PHP isteklerini geçmesini söyleyeceğiz.
Bu modülü yükleyebiliriz ve ayrıca PHP’nin veritabanı arka ucumuzla iletişim kurmasını sağlayacak ek bir yardımcı paket alacağız. Kurulum gerekli PHP çekirdek dosyalarını çekecektir. Bunu yazarak yapın:
PHP işlemcisini yapılandırın
Şimdi PHP bileşenlerimiz yüklü, ancak kurulumumuzu daha güvenli hale getirmek için hafif bir yapılandırma değişikliği yapmamız gerekiyor.
Kök ayrıcalıklarıyla ana php-fpm yapılandırma dosyasını açın:
Bu dosyada aradığımız şey, CGI ayarlayan parametredir.Fix_pathinfo . Bu bir Semi Colon (;) ile yorumlanacak ve “1” varsayılan olarak.
Bu son derece güvensiz bir ayardır çünkü PHP’ye, istenen PHP dosyasının bulunamadığını bulabileceği en yakın dosyayı yürütmeye çalışmasını söyler. Bu temel olarak, kullanıcıların PHP isteklerini oluşturmalarına izin verecektir’yürütülmesine izin verilir.
Bu koşulların her ikisini de çizgiyi açıp ayarlayarak değiştireceğiz “0” bunun gibi:
/etc/php/7.0/fpm/php.ini
CGI.Fix_pathinfo = 0
Bitirdiğinizde dosyayı kaydedin ve kapatın.
Şimdi, PHP işlemcimizi yazarak yeniden başlatmamız gerekiyor:
Bu, yaptığımız değişikliği uygulayacak.
Adım 4: NGINX’i PHP işlemcisini kullanacak şekilde yapılandırın
Şimdi, gerekli tüm bileşenlerin tümü var. Hala ihtiyacımız olan tek yapılandırma değişikliği, Nginx’e PHP işlemcimizi dinamik içerik için kullanmasını söylemektir.
Bunu sunucu bloğu seviyesinde yapıyoruz (sunucu blokları Apache’ye benzer’sanal ana bilgisayarlar). Yazarak varsayılan Nginx Server bloğu yapılandırma dosyasını açın:
Şu anda, yorumlar kaldırıldığında, NGINX varsayılan sunucu bloğu dosyası şuna benziyor:
/etc/nginx/siteler-kullanılabilir/varsayılan
sunucu < 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; >>
Sitemiz için bu dosyada bazı değişiklikler yapmamız gerekiyor.
- İlk olarak, dizin eklememiz gerekiyor.dizin direktifimizin ilk değeri olarak PHP, böylece dizin adlı dosyalar.PHP, varsa, bir dizin istendiğinde sunulur.
- Server_name yönergesini sunucumuza işaret edecek şekilde değiştirebiliriz’S etki alanı adı veya genel IP adresi.
- Gerçek PHP işlemi için, pound sembollerini (#) her satırın önünden kaldırarak PHP isteklerini işleyen dosyanın bir bölümünü çıkarmamız gerekir. Bu konum olacak ~ \.Php $ konum bloğu, dahil fastcgi-php.conf snippet ve php-fpm ile ilişkili soket .
- Ayrıca konum bloğunu ele alacağız .aynı yöntemi kullanarak htaccess dosyaları. Nginx değil’t Bu dosyaları işleyin. Bu dosyalardan herhangi biri Belge Köküne girerse, ziyaretçilere sunulmamalıdır.
Yapmanız gereken değişiklikler aşağıdaki metinde kırmızıdır:
/etc/nginx/siteler-kullanılabilir/varsayılan
sunucu < listen 80 default_server; listen [::]:80 default_server; root /var/www/html; index indeks.PHP indeks.HTML dizin.HTM dizin.Nginx-Debian.html; sunucu adı Server_domain_or_ip; konum / < try_files $uri $uri/ =404; >Konum ~ \.PHP $ snippets/fastcgi-php ekleyin.Conf; fastcgi_pass unix:/run/php/php7.0-fpm.çorap; > Konum ~ /\.HT Hepsini inkar etmek; > >
Sen ne zaman’Yukarıdaki değişiklikleri yaptı, dosyayı kaydedebilir ve kapatabilirsiniz.
Yapılandırma dosyanızı yazarak sözdizimi hataları için test edin:
Herhangi bir hata rapor edilirse, geri dönün ve devam etmeden önce dosyanızı tekrar kontrol edin.
Hazır olduğunuzda, gerekli değişiklikleri yapmak için nginx’i yeniden yükleyin:
Adım 5: Yapılandırmayı test etmek için bir PHP dosyası oluşturun
Lemp yığınınız şimdi tamamen kurulmalıdır. Nginx’in doğru bir şekilde verebileceğini doğrulamak için test edebiliriz .PHP dosyaları PHP işlemcimize kapalı.
Bunu Belge Kökümüzde bir test php dosyası oluşturarak yapabiliriz. Bilgi adlı yeni bir dosya açın.Metin düzenleyicinizdeki belgeniz kökü içinde PHP:
Aşağıdaki satırları yeni dosyaya yazın veya yapıştırın. Bu, sunucumuz hakkında bilgi döndürecek geçerli PHP kodudur:
/var/www/html/bilgi.PHP
Bitirdiğinizde dosyayı kaydedin ve kapatın.
Şimdi, sunucunuzu ziyaret ederek web tarayıcınızda bu sayfayı ziyaret edebilirsiniz’S etki alanı adı veya genel IP adresi ve ardından /bilgi.PHP:
http: //Server_domain_or_ip/bilgi.PHP
Sunucunuz hakkında bilgi içeren PHP tarafından oluşturulan bir web sayfası görmelisiniz:
Böyle görünen bir sayfa görürseniz,’Nginx ile PHP işlemeyi başarıyla ayarlayın.
Nginx’in sayfayı doğru bir şekilde oluşturduğunu doğruladıktan sonra’Oluşturduğunuz dosyayı kaldırmak için en iyisi, çünkü yetkisiz kullanıcılara, yapılandırmanızla ilgili, girmeye çalışmalarına yardımcı olabilecek bazı ipuçları verebilir. Daha sonra ihtiyacınız varsa her zaman bu dosyayı yenileyebilirsiniz.
Şimdilik, dosyayı yazarak kaldırın:
Çözüm
Şimdi Ubuntu 16’nızda yapılandırılmış bir Lemp yığınınız olmalı.04 Sunucu. Bu, ziyaretçilerinize web içeriği sunmak için çok esnek bir temel sağlar.
DigitalOcean topluluğuyla öğrendiğiniz için teşekkürler. Hesaplama, depolama, ağ oluşturma ve yönetilen veritabanları için tekliflerimize göz atın.