Debian 8de NGINX, PHP-FPM ve MariaDB Kurulumu

Bu kılavuz, NGINX, PHP Fast Process Manager ve MariaDB'yi kullanarak Debian 8'e "alternatif" LAMP yığınını nasıl doğru şekilde kuracağınızı ve yapılandıracağınızı gösterecektir.

nginx

NGINX "önce ters proxy, ikinci web sunucusu" dur. Birçok durumda daha fazla esneklik ve daha iyi performans sunan Apache'ye popüler ve büyüyen bir alternatiftir. Bu derste, bunu web sunucumuz olarak kullanacağız.

Favori SSH istemcinizi çalıştırın ve sunucunuza giriş yapın. Windows kullanıcıları için, "PuTTY" ücretsiz ve hafif bir SSH istemcisidir. Linux ve Mac kullanıcıları işletim sistemlerinde varsayılan olarak bulunan terminali kullanabilirler. Bu öğretici için sunucunuza "root" kullanıcısı olarak giriş yaptığınızı varsayacağız.

Yeni başlayanlar için, her şeyin güncel olduğundan emin olalım. Güncelleştirmeleri denetlemek ve yüklemek için aşağıdakileri yazın.

apt-get update && apt-get upgrade

Yapılandırma dosyalarımızı vim'de düzenleyeceğiz. Vim varsayılan olarak yüklü değildir, hadi yükleyelim!

apt-get install vim

Şimdi NGINX kurulum zamanı. Resmi NGINX Debian deposundan NGINX'in en son sürümünü kurmak isteyeceğiz.

wget http://nginx.org/keys/nginx_signing.key
apt-key add nginx_signing.key
echo 'deb http://nginx.org/packages/debian/ jessie nginx' >> /etc/apt/sources.list
echo 'deb-src http://nginx.org/packages/debian/ jessie nginx' >> /etc/apt/sources.list
apt-get update && apt-get install nginx

Şimdi NGINX yapılandırmasını biraz düzeltmemiz gerekiyor. Yapılandırma dizinine gidin.

cd /etc/nginx

Hızlı bir vim dersi

Metin belgesinde gezinmek için ok tuşlarını kullanın. Düzenleme yapmaya başlamak için klavyenizdeki "ekle" düğmesine basın. Klavyenizde ekleme düğmesi yoksa, "i" tuşuna basın. Vim'in dibine doğru artık "INSERT" yazdığını fark edeceksiniz. Ekle modu, geri tuşu ile silmenize veya yeni karakterler yazarak girmenize olanak tanır.

Hadi açalım nginx.confve konuşalım :

vi nginx.conf

Varsayılan kullanıcıyı değiştirelim, çalışan işlem sayısını kontrol edelim ve erişim günlüğünü kapatalım.

"User" ve "worker_processes" yönergeleri en üste yakındır. Aşağıdaki değerleri deneyin:

"Worker_processes" ifadesini sunucunuzdaki kullanılabilir CPU çekirdeği sayıs��na ayarlamak isteyeceğinizi unutmayın. Bu örnekte, NGINX varsayılanı olan 1 var.

user www-data;
worker_processes 1;

Ayrıca, G / Ç performansını artırmak için erişim günlüğünü devre dışı bırakmak isteyeceğiz. "Access_log" u bulana kadar ok tuşlarıyla aşağı gidin. Aşağıdakileri değiştirin:

access_log off;

Son olarak, "client_max_body_size" ifadesini daha sonra PHP'de yapılan bazı değişikliklere karşılık gelecek şekilde ayarlayacağız. Sorunu kurtaralım ve şimdi yapalım. "Access_log" ifadesinin hemen altına ekleyin:

client_max_body_size 12m;

Düzenlemeyi bitirdiğinizde klavyenizdeki "Esc" tuşuna basın. Vim artık dosyanın altına doğru "INSERT" demeyecek.

Değişikliklerimizi kaydetmek ve vim'den çıkmak için aşağıdaki tuş sırasına basın:

SHIFT :(colon)
wq
Press "Enter"

Yukarıdaki vim kung fu, değişikliklerinizi diske yazacak ve vim'den çıkacak ve sizi bash kabuğuna geri bırakacaktır.

Şimdi, örneğimiz için siteye özgü bir yapılandırma yapmamız gerekiyor! Diğer örnek yapılandırmaları da sileceğiz. Takip etmeyi dene:

cd conf.d
rm example_ssl.conf default.conf
vi my_site.conf

www.confVarsayılan NGINX yapılandırmasına gevşek bir şekilde kısa ve basit bir şekilde bakacağız, ancak birkaç değişiklik yaptık. Insert tuşuna bastığınızda aşağıdaki örneği kopyalayıp yapıştırabilirsiniz.

Web sitenizin kök dizinine işaret etmek için "kök" yönergesini ve alan adınıza karşılık gelecek şekilde "sunucu_adı" nı düzenlemeyi unutmayın.

server {
    listen 80;

    root /path/to/your/website;
    index index.php index.html index.htm;

    server_name mydomainname.com www.mydomainname.com;

    location / {
            try_files $uri $uri/ /index.php;
    }

    location ~ \.php$ {
            try_files $uri =404;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
            fastcgi_pass unix:/var/run/php5-fpm.sock;
    }
}

Şimdi bu öğreticinin NGINX yapılandırma bölümünü tamamladık. PHP'yi kurduktan hemen sonra NGINX'i birazdan başlatacağız.

PHP-FPM

PHP-FPM, PHP Hızlı İşlem Yöneticisidir. NGINX kullanırken bu gereklidir, çünkü Apache'den farklı olarak NGINX PHP'yi modül olarak çalıştırmaz. Bu, NGINX'in bellek ayak izini azaltmak için yapıldı. NGINX'in her şeyden önce ters vekil olmakla ilgili bölümünü hatırlıyor musunuz? İşte burada devreye giriyor; NGINX'e gönderilen PHP istekleri, ağır kaldırma işlemleri için PHP-FPM'ye beslenir.

PHP-FPM'yi yükleyelim.

apt-get install php5-fpm php5-mysqlnd

PHP betiklerinizin gerektirdiğine bağlı olarak, varsayılan olarak bulunmayan diğer PHP modüllerini kurmanız gerekebilir. Popüler olanlar php5-gdve php5-mcrypt. Bunları aşağıdaki komutla kurabilirsiniz.

apt-get install php5-module_name_here

Artık PHP-FPM yüklendiğine göre, güvenliği ve işlevselliği artırmak için birkaç hızlı düzenleme yapmak isteyeceğiz.

cd /etc/php5/fpm
vi php.ini

Başka bir hızlı vim dersi zamanı! php.iniDosya kesinlikle çok büyük. Birkaç anahtar değer aramak bütün gün sürecektir. Ne aradığımızı bildiğimiz için arayacağız. Aşağıdakileri yazın:

/upload_max_filesize

Bu, varsayılan olarak 2 megabayt olarak ayarlanmıştır. Kullanıcıların PHP uygulamalarınıza 2 megabayttan daha fazla dosya yüklemesine izin vermek istiyorsanız, bunu değiştirmeniz gerekir. 10M muhtemelen şimdilik güvenli bir bahis, ancak daha yüksek değerler de kabul edilebilir. Bu ayar yapılandırmalara göre değişiklik gösterir. Eğitim amacıyla:

upload_max_filesize = 10M

Bir göze batan güvenlik açığı daha. Biraz daha aşağı kaydırın veya arayın. "Allow_url_fopen" i "Kapalı" ya çevirmeliyiz. Bu, PHP'nin RFI (Uzak Dosya Ekleme) olarak bilinen UZAKTAN barındırılan PHP dosyalarını çalıştırmasını önler. Birçok sunucu bu şekilde saldırıya uğradı.

allow_url_fopen = Off

Ve "upload_max_filesize" ifadesini değiştirdiğimiz için, şimdi "post_max_size" yi değiştirmek zorundayız. PHP tarafından işlenen taleplerimizle ilişkili ek yükü hesaba katmamız gerektiğinden, bu değer "upload_max_filesize" den biraz daha büyük olmalıdır.

"/ Post_max_size" ile bir kez daha arayalım.

post_max_size = 12M

PHP dosya boyutlarınız için bu örneklerden daha büyük değerlerle gitmeye karar verirseniz NGINX yapılandırmanıza geri dönmeniz ve "client_max_body_size" ifadesini düzenlemeniz gerekeceğini unutmayın.

Şimdilik bu kadar. "Esc" tuşuna basarak düzenleme modunda olmadığınızdan emin olun. Vim kaydedin ve çıkın.

SHIFT :(colon)
wq
Press 'Enter'

PHP-FPM kurulumu tamamlandı.

mariadb

Sürekli olarak NoSQL veya MongoDB'ye doğru hareket eden bir dünyada bile, bazılarımız hala MySQL'e sadık kalmayı daha kolay buluyoruz. Bu özellikle birçok web uygulaması için geçerlidir. Neyse ki, artık Oracle MySQL için bir dizi "bırakma" değişikliği var. Debian 8 şimdi popüler MariaDB'yi içeriyor. MariaDB, 5.5 sürümüne dayanan bir Oracle MySQL çatalı. MariaDB, tüm niyet ve amaçlar için bu MariaDB 10'u çağırır. Oracle MySQL'in TAM yerine geçer. Bunu kalbimdeki MySQL olarak düşünün, Oracle markasını ve bazı yeni özellikleri saklayın.

apt-get install mariadb-server

ÖNEMLİ: Kesinlikle, olumlu olarak, MariaDB için güçlü bir kök parola seçmeniz gerekir. Güvenli bir yere kaydedin. MariaDB kurulumu sırasında iki kez girmeniz gerekecek.

MariaDB yapılandırmasını biraz değiştirelim. Ağ arayüzü üzerinden MariaDB dinlemeyi devre dışı bırakacağız. Bunun yerine, daha önce PHP-FPM'de olduğu gibi, sadece bir UNIX soketine bağlı kalacağız. Çoğu PHP uygulaması, yerel geridöngü arabirimi yerine UNIX soketi aracılığıyla veritabanı sunucusuna bağlanmayı desteklemelidir.

cd /etc/mysql
vi my.cnf

"Bind-address = 127.0.0.1" ifadesini arayın. Bu çizgiyi yorumlayın. Üstüne veya altına "atlama ağı" ekleyin.

#bind-address = 127.0.0.1
skip-networking

MariaDB ile işimiz bitti! Sonunda, öncelikle MyISAM veya InnoDB depolama motorlarını kullanıp kullanmayacağınıza bağlı olarak, aynı zamanda sunucunuz için kullanılabilir CPU çekirdeği ve RAM sayısı için de MariaDB yapılandırmanızı değiştirmek isteyebilirsiniz. Varsayılan değerler bizi bu süre içinde çalıştırıp çalışır duruma getirecektir.

Bu öğreticide yapılandırma dosyalarının değiştirildiği hizmetlerin her birini yeniden başlatalım.

systemctl restart nginx.service
systemctl restart php5-fpm.service
systemctl restart mysql.service

Hepsi bu - işimiz bitti. Bu noktada, tamamen işlevsel bir LNMP (LEMP) sunucunuz var!

Bu kılavuz, en az ince ayar ile yukarıdaki hizmetlere başlamak için genel bir kural olarak hizmet etmekti. Daha fazla bilgi için yukarıdaki paketlerin belgelerini okuyun. Bu örnek kurulum "kutudan çıkar çıkmaz" iyi çalışmasına rağmen, ayarlamalar yapılabilir ve büyük olasılıkla ihtiyaçlarınıza daha iyi uyacak şekilde yapılması gerekir.

Araştırma için önerilen alanlar:

  • NGINX'in önbellek kontrolünü kullanma ve değiştirme.
  • PHP-FPM "statik", "dinamik" veya "ondemand" görev yöneticisi ayarları.
  • Veritabanı sunucunuzdan en iyi şekilde yararlanmak için MariaDB performans ayarı.

Yorum bırak

CentOS 7de LibreNMS Kullanarak Cihazlarınızı İzleyin

CentOS 7de LibreNMS Kullanarak Cihazlarınızı İzleyin

CentOS 7 üzerinde LibreNMS kullanarak ağ cihazlarınızı etkili bir şekilde izleyin. Ağ izleme için gerekli adımları ve yapılandırmaları öğrenin.

Counter-Strike: Global Offensive Server Nasıl Kurulur?

Counter-Strike: Global Offensive Server Nasıl Kurulur?

Counter-Strike: Global Offensive sunucusu kurmak için gerekli adımlar. Gerekli araçlar ve yükleme süreci hakkında bilgi.

Ubuntu 16.04 LTS Üzerinde OpenNMS Kurulumu

Ubuntu 16.04 LTS Üzerinde OpenNMS Kurulumu

OpenNMS, çok sayıda cihazı izlemek ve yönetmek için kullanılabilen bir açık kaynak ağ yönetim platformudur. Ubuntu 16.04 LTS üzerinde OpenNMS kurulumu için tüm adımları keşfedin.

Ubuntu 16.04te LibreNMS Kullanarak Cihazlarınızı İzleyin

Ubuntu 16.04te LibreNMS Kullanarak Cihazlarınızı İzleyin

Farklı Bir Sistem mi Kullanıyorsunuz? LibreNMS tam özellikli bir açık kaynak ağ izleme sistemidir.

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.

Hala Teslim Edilmeyen Teknoloji Sözleri

Hala Teslim Edilmeyen Teknoloji Sözleri

Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Bilim hızla gelişip birçok çabamızı üstlendikçe, kendimizi açıklanamaz bir Tekilliğe maruz bırakmanın riskleri de artıyor. Okuyun, tekillik bizim için ne anlama gelebilir.