Sediakan NFS Share di Debian
NFS adalah sistem fail berasaskan rangkaian yang membolehkan komputer mengakses fail di seluruh rangkaian komputer. Panduan ini menerangkan bagaimana anda boleh mendedahkan folder di atas NF
Nginx adalah perisian pelayan web sumber terbuka yang direka dengan pertimbangan tinggi, yang dapat digunakan sebagai pelayan HTTP / HTTPS, pelayan proksi terbalik, pelayan proksi surat, pengimbang beban perisian, penghentian TLS, pelayan caching dan banyak lagi!
Ia adalah perisian yang sangat modular. Bahkan beberapa bahagian perisian yang kelihatan "terbina dalam", seperti GZIP atau SSL, sebenarnya diciptakan sebagai modul yang dapat diaktifkan dan dinonaktifkan semasa waktu pembuatan.
Ia mempunyai modul teras (asli) dan modul pihak ketiga (luaran) yang dibuat oleh komuniti. Sekarang ini, terdapat lebih dari seratus modul pihak ketiga yang dapat kita gunakan.
Ditulis dalam C, ini adalah perisian yang pantas dan ringan.
Memasang Nginx dari kod sumber agak mudah - muat turun versi terkini kod sumber Nginx, konfigurasikan, bina, dan pasangkannya.
Anda perlu memilih sama ada memuat turun garis utama atau versi stabil, tetapi membinanya sama.
Dalam panduan ini, kami akan menyusun versi utama Nginx pada Debian 10 (buster). Kami akan menggunakan semua modul yang tersedia dalam versi sumber terbuka Nginx.
Anda mungkin bertanya mengapa akan menggabungkan Nginx dari sumber apabila anda boleh menggunakan pakej yang disediakan. Berikut adalah beberapa sebab mengapa anda mungkin ingin menyusun perisian tertentu sendiri:
Nginx Open Source boleh didapati dalam dua versi:
Nginx mempunyai dua jenis modul yang boleh anda gunakan: modul teras dan modul pihak ketiga.
Pembangun inti Nginx membina modul teras, dan mereka adalah sebahagian daripada perisian itu sendiri.
Komuniti membina modul pihak ketiga, dan anda boleh menggunakannya untuk memperluas fungsi. Terdapat banyak modul pihak ketiga yang bermanfaat.
Modul statik terdapat di Nginx dari versi pertama. Modul dinamik diperkenalkan dengan Nginx 1.9.11+ pada Februari 2016.
Dengan modul statik, sekumpulan modul yang membentuk binari Nginx diperbaiki pada waktu kompilasi oleh ./configure
skrip. Penggunaan --with-foo_bar_module
atau --add-module=PATH
sintaks modul statik .
Sebagai =dynamic
contoh, untuk menyusun modul teras (standard) sebagai dinamik, kita tambahkan --with-http_image_filter_module=dynamic
.
Untuk menyusun modul pihak ketiga sebagai dinamik, kami menggunakan --add-dynamic-module=/path/to/module
sintaks, dan kemudian kami memuatkannya dengan menggunakan load_module
arahan dalam konteks global nginx.conf
fail.
Sebagai perbandingan dengan beberapa perisian UNIX / Linux yang lain, Nginx agak ringan dan tidak mempunyai banyak ketergantungan perpustakaan. Konfigurasi binaan lalai bergantung kepada hanya 3 perpustakaan yang akan dipasang: OpenSSL / LibreSSL / BoringSSL, Zlib dan PCRE.
CATATAN : Nginx juga dapat disusun terhadap LibreSSL dan perpustakaan crypto BoringSSL dan bukannya OpenSSL.
Semak versi Debian.
lsb_release -ds
# Debian GNU/Linux 10 (buster)
Buat pengguna biasa dengan sudo
akses.
adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
NOTA : Gantikan johndoe
dengan nama pengguna anda .
Beralih kepada pengguna baru.
su - johndoe
Sediakan zon waktu.
sudo dpkg-reconfigure tzdata
Kemas kini perisian sistem operasi anda.
sudo apt update && sudo apt upgrade -y
Pasang pakej yang diperlukan.
sudo apt install -y software-properties-common ufw
Nginx adalah program yang ditulis dalam bahasa C, jadi pertama-tama anda perlu memasang alat penyusun. Pasang build-essential
, git
dan tree
.
sudo apt install -y build-essential git tree
Muat turun versi utama terkini kod sumber Nginx dan bongkar arkib kod sumber. Kod sumber Nginx diedarkan sebagai arkib termampat, seperti kebanyakan perisian Unix dan Linux.
wget https://nginx.org/download/nginx-1.17.2.tar.gz && tar zxvf nginx-1.17.2.tar.gz
Muat turun kod sumber kebergantungan Nginx dan ambilnya.
# PCRE version 8.43
wget https://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz && tar xzvf pcre-8.43.tar.gz
# zlib version 1.2.11
wget https://www.zlib.net/zlib-1.2.11.tar.gz && tar xzvf zlib-1.2.11.tar.gz
# OpenSSL version 1.1.1c
wget https://www.openssl.org/source/openssl-1.1.1c.tar.gz && tar xzvf openssl-1.1.1c.tar.gz
Pasang kebergantungan Nginx pilihan.
sudo apt install -y perl libperl-dev libgd3 libgd-dev libgeoip1 libgeoip-dev geoip-bin libxml2 libxml2-dev libxslt1.1 libxslt1-dev
Bersihkan semua .tar.gz
fail. Kami tidak memerlukannya lagi.
rm -rf *.tar.gz
Masukkan direktori sumber Nginx.
cd ~/nginx-1.17.2
Untuk direktori dan fail senarai ukuran yang baik yang menyusun kod sumber Nginx dengan tree
.
tree -L 2 .
Salin halaman manual ke /usr/share/man/man8/
.
sudo cp ~/nginx-1.17.2/man/nginx.8 /usr/share/man/man8
sudo gzip /usr/share/man/man8/nginx.8
ls /usr/share/man/man8/ | grep nginx.8.gz
# Check that man page for Nginx is working
man nginx
Untuk mendapatkan bantuan, anda dapat melihat senarai lengkap pilihan masa kompilasi Nginx terkini dengan menjalankan perkara berikut.
./configure --help
# To see want core modules can be built as dynamic run:
./configure --help | grep -F =dynamic
Konfigurasikan, kompilasi dan pasang Nginx.
./configure --prefix=/etc/nginx \
--sbin-path=/usr/sbin/nginx \
--modules-path=/usr/lib/nginx/modules \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--pid-path=/var/run/nginx.pid \
--lock-path=/var/run/nginx.lock \
--user=nginx \
--group=nginx \
--build=Debian \
--builddir=nginx-1.17.2 \
--with-select_module \
--with-poll_module \
--with-threads \
--with-file-aio \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_addition_module \
--with-http_xslt_module=dynamic \
--with-http_image_filter_module=dynamic \
--with-http_geoip_module=dynamic \
--with-http_sub_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_mp4_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_auth_request_module \
--with-http_random_index_module \
--with-http_secure_link_module \
--with-http_degradation_module \
--with-http_slice_module \
--with-http_stub_status_module \
--with-http_perl_module=dynamic \
--with-perl_modules_path=/usr/share/perl/5.26.1 \
--with-perl=/usr/bin/perl \
--http-log-path=/var/log/nginx/access.log \
--http-client-body-temp-path=/var/cache/nginx/client_temp \
--http-proxy-temp-path=/var/cache/nginx/proxy_temp \
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \
--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \
--http-scgi-temp-path=/var/cache/nginx/scgi_temp \
--with-mail=dynamic \
--with-mail_ssl_module \
--with-stream=dynamic \
--with-stream_ssl_module \
--with-stream_realip_module \
--with-stream_geoip_module=dynamic \
--with-stream_ssl_preread_module \
--with-compat \
--with-pcre=../pcre-8.43 \
--with-pcre-jit \
--with-zlib=../zlib-1.2.11 \
--with-openssl=../openssl-1.1.1c \
--with-openssl-opt=no-nextprotoneg \
--with-debug
make
sudo make install
Setelah penyusunan, pergi ke direktori rumah anda ( ~
).
cd ~
Symlink /usr/lib/nginx/modules
kepada /etc/nginx/modules
. Ini adalah tempat standard untuk modul Nginx.
sudo ln -s /usr/lib/nginx/modules /etc/nginx/modules
Cetak versi Nginx, versi penyusun, dan konfigurasikan parameter skrip.
sudo nginx -V
# nginx version: nginx/1.17.2 (Debian)
# built by gcc 8.3.0 (Debian 8.3.0-6)
# built with OpenSSL 1.1.1c 28 May 2019
# TLS SNI support enabled
# configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/nginx/modules . . .
# . . .
# . . .
Buat kumpulan dan pengguna sistem Nginx.
sudo adduser --system --home /nonexistent --shell /bin/false --no-create-home --disabled-login --disabled-password --gecos "nginx user" --group nginx
# Check that user and group are created
sudo tail -n 1 /etc/passwd /etc/group /etc/shadow
Periksa sintaks Nginx dan kemungkinan kesalahan.
sudo nginx -t
# Will throw this error -> nginx: [emerg] mkdir() "/var/cache/nginx/client_temp" failed (2: No such file or directory)
# Create NGINX cache directories and set proper permissions
sudo mkdir -p /var/cache/nginx/client_temp /var/cache/nginx/fastcgi_temp /var/cache/nginx/proxy_temp /var/cache/nginx/scgi_temp /var/cache/nginx/uwsgi_temp
sudo chmod 700 /var/cache/nginx/*
sudo chown nginx:root /var/cache/nginx/*
# Re-check syntax and potential errors.
sudo nginx -t
Buat fail unit sistem Nginx.
sudo vim /etc/systemd/system/nginx.service
Isi /etc/systemd/system/nginx.service
file dengan kandungan berikut.
[Unit]
Description=nginx - high performance web server
Documentation=https://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t -c /etc/nginx/nginx.conf
ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID
[Install]
WantedBy=multi-user.target
Dayakan Nginx untuk memulakan boot dan mulailah Nginx dengan segera.
sudo systemctl enable nginx.service
sudo systemctl start nginx.service
Periksa sama ada Nginx akan bermula secara automatik selepas but semula.
sudo systemctl is-enabled nginx.service
# enabled
Semak statusnya.
sudo systemctl status nginx.service
CATATAN : Anda boleh mengesahkan bahawa Nginx berjalan dengan pergi ke domain atau alamat IP laman web anda dalam penyemak imbas web. Anda akan melihat halaman selamat datang Nginx. Itulah penunjuk yang Nginx telah dan berjalan pada VPS anda.
Buat profil aplikasi Nginx UFW.
sudo vim /etc/ufw/applications.d/nginx
Salin / tampal kandungan berikut ke dalam /etc/ufw/applications.d/nginx
fail.
[Nginx HTTP]
title=Web Server (Nginx, HTTP)
description=Small, but very powerful and efficient web server
ports=80/tcp
[Nginx HTTPS]
title=Web Server (Nginx, HTTPS)
description=Small, but very powerful and efficient web server
ports=443/tcp
[Nginx Full]
title=Web Server (Nginx, HTTP + HTTPS)
description=Small, but very powerful and efficient web server
ports=80,443/tcp
Sahkan bahawa profil aplikasi UFW dibuat dan dikenali.
sudo ufw app list
# Available applications:
# Nginx Full
# Nginx HTTP
# Nginx HTTPS
# OpenSSH
Nginx, secara lalai, menghasilkan .default
fail sandaran di /etc/nginx
. Alih keluar .default
fail dari /etc/nginx
direktori.
sudo rm /etc/nginx/*.default
Letakkan penataan sintaks bagi konfigurasi Nginx untuk editor Vim ke ~/.vim
.
# For regular non-root user
mkdir ~/.vim/
cp -r ~/nginx-1.17.2/contrib/vim/* ~/.vim/
# For root user
sudo mkdir /root/.vim/
sudo cp -r ~/nginx-1.17.2/contrib/vim/* /root/.vim/
NOTA : Dengan melakukan langkah di atas, anda akan mendapat penunjuk sintaks yang bagus apabila mengedit fail konfigurasi Nginx dalam editor Vim.
Buat conf.d
, snippets
, sites-available
dan sites-enabled
direktori dalam /etc/nginx
.
sudo mkdir /etc/nginx/{conf.d,snippets,sites-available,sites-enabled}
Tukar kebenaran dan pemilikan kumpulan fail log Nginx.
sudo chmod 640 /var/log/nginx/*
sudo chown nginx:adm /var/log/nginx/access.log /var/log/nginx/error.log
Buat konfigurasi putaran log untuk Nginx.
sudo vim /etc/logrotate.d/nginx
Tandakan fail dengan teks berikut, kemudian simpan dan keluar.
/var/log/nginx/*.log {
daily
missingok
rotate 52
compress
delaycompress
notifempty
create 640 nginx adm
sharedscripts
postrotate
if [ -f /var/run/nginx.pid ]; then
kill -USR1 `cat /var/run/nginx.pid`
fi
endscript
}
Keluarkan semua fail yang dimuat turun dari direktori rumah.
cd ~
rm -rf nginx-1.17.2/ openssl-1.1.1c/ pcre-8.43/ zlib-1.2.11/
Itu sahaja. Sekarang, anda mempunyai versi terbaru Nginx yang dipasang. Ia disusun secara statik terhadap beberapa perpustakaan penting seperti OpenSSL. Sering kali, versi OpenSSL dibekalkan sistem sudah lapuk. Dengan menggunakan kaedah ini memasang dengan versi OpenSSL yang lebih baru, anda boleh mengambil kesempatan daripada ciphers moden seperti CHACHA20_POLY1305
dan protokol seperti TLS 1.3 yang boleh didapati di OpenSSL 1.1.1
. Lebih-lebih lagi, dengan menyusun binari anda sendiri, anda dapat menyesuaikan fungsi apa yang akan disediakan oleh Nginx anda, yang jauh lebih fleksibel daripada memasang binari yang telah dibina sebelumnya.
NFS adalah sistem fail berasaskan rangkaian yang membolehkan komputer mengakses fail di seluruh rangkaian komputer. Panduan ini menerangkan bagaimana anda boleh mendedahkan folder di atas NF
Pengenalan MySQL mempunyai ciri hebat yang dikenali sebagai pandangan. Paparan adalah pertanyaan yang disimpan. Anggap mereka sebagai alias untuk pertanyaan yang panjang. Dalam panduan ini,
Artikel ini akan mengajar anda cara menyediakan penjara chroot di Debian. Saya menganggap bahawa anda menggunakan Debian 7.x. Sekiranya anda menjalankan Debian 6 atau 8, ini mungkin berfungsi,
Pengenalan Cara mudah untuk menyediakan pelayan VPN di Debian adalah dengan PiVPN. PiVPN adalah pemasang dan pembungkus untuk OpenVPN. Ini membuat perintah mudah untuk anda
Menggunakan Sistem Berbeza? Sejak GitHub diambil alih oleh Microsoft, sebilangan besar pembangun telah merancang untuk memindahkan repositori kod mereka sendiri dari github.co
PBX In A Flash 5 (PIAF5) adalah sistem operasi berasaskan Debian 8 yang menjadikan Vultr VPS anda menjadi PBX lengkap. Ia mempunyai ciri-ciri berikut, dan banyak lagi.
Menggunakan Sistem Berbeza? Brotli adalah kaedah pemampatan baru dengan nisbah mampatan yang lebih baik daripada Gzip. Kod sumbernya dihoskan secara umum di Github. Thi
Pengenalan Lynis adalah alat audit sistem sumber terbuka yang percuma yang digunakan oleh banyak pentadbir sistem untuk mengesahkan integriti dan mengeraskan sistem mereka. Saya
Menggunakan Sistem Berbeza? Neos adalah Platform Aplikasi Kandungan dengan CMS dan kerangka aplikasi di terasnya. Panduan ini akan menunjukkan cara pemasangan
Menggunakan Sistem Berbeza? InvoicePlane adalah aplikasi invois sumber bebas dan terbuka. Kod sumbernya boleh didapati di repositori Github ini. Panduan ini
Menggunakan Sistem Berbeza? BookStack adalah platform yang mudah dihoskan sendiri, mudah digunakan untuk mengatur dan menyimpan maklumat. BookStack adalah percuma dan terbuka
Menggunakan Sistem Berbeza? Matomo (dahulunya Piwik) adalah platform analitik sumber terbuka, alternatif terbuka kepada Google Analytics. Sumber Matomo dihoskan o
Menggunakan Sistem Berbeza? X-Cart adalah platform eCommerce sumber terbuka yang sangat fleksibel dengan banyak ciri dan integrasi. Kod sumber X-Cart adalah hoste
Munin adalah alat pemantauan untuk meninjau proses dan sumber di mesin anda dan menyampaikan maklumat dalam grafik melalui antara muka web. Gunakan ikutan
Menggunakan Sistem Berbeza? Tiny Tiny RSS Reader adalah pembaca berita dan agregator suapan berita (RSS / Atom) berasaskan laman web bebas dan terbuka sumber bebas dan terbuka, yang direka untuk semua
Pengenalan Dalam tutorial ini, kita akan membahas proses penambahan keseluruhan rangkaian / subnet IP ke pelayan Linux yang menjalankan CentOS, Debian, atau Ubuntu. Proses
Dalam panduan ini, kami akan menyiapkan Counter Strike: Server permainan sumber di Debian 7. Perintah ini diuji pada Debian 7 tetapi mereka juga harus berfungsi
Menggunakan Sistem Berbeza? MODX Revolution adalah Sistem Pengurusan Kandungan (CMS) bertaraf perusahaan yang pantas, fleksibel, berskala, bebas dan terbuka, bertulis i
Menggunakan Sistem Berbeza? Dolibarr adalah perancangan sumber perusahaan sumber terbuka (ERP) dan pengurusan hubungan pelanggan (CRM) untuk perniagaan. Dolibarr
Pengenalan Mailcow adalah suite mailserver ringan berdasarkan pelbagai pakej, seperti DoveCot, Postfix dan banyak pakej sumber terbuka yang lain. Mailcow dll
Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.
Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.
Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.
Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.
CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?
Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.
Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!
Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.
Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut