اشتراک NFS را در Debian تنظیم کنید
NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید
Nginx یک نرم افزار سرور وب منبع باز است که با هماهنگی بالایی طراحی شده است ، که می تواند به عنوان یک سرور HTTP / HTTPS ، سرور پروکسی معکوس ، سرور پروکسی نامه ، بالانسور بار نرم افزار ، ترمینال TLS ، سرور caching و موارد دیگر مورد استفاده قرار گیرد!
این نرم افزار کاملاً مدولار است. حتی برخی از قطعات به ظاهر "داخلی" نرم افزار ، مانند GZIP یا SSL ، در واقع به عنوان ماژول هایی ساخته شده اند که می توانند در زمان ساخت فعال و غیرفعال شوند.
این ماژول های اصلی (بومی) و ماژول های شخص ثالث (خارجی) ایجاد شده توسط جامعه است. هم اکنون بیش از صد ماژول شخص ثالث وجود دارد که می توانیم از آنها استفاده کنیم.
به زبان C نوشته شده است ، این یک نرم افزار سریع و سبک است.
نصب Nginx از کد منبع نسبتاً آسان است - آخرین نسخه کد منبع Nginx را بارگیری کنید ، پیکربندی ، ساخت و نصب کنید.
شما باید انتخاب کنید که آیا خط اصلی یا نسخه پایدار را بارگیری کنید ، اما ساختن آنها یکسان است.
در این راهنما ، یک نسخه اصلی Nginx را روی Debian 10 (buster) گردآوری خواهیم کرد. ما از همه ماژول های موجود در نسخه منبع آزاد Nginx استفاده خواهیم کرد.
احتمالاً می پرسیدید که چرا می توانید Nginx را از یک منبع کامپایل کنید وقتی می توانید از بسته های آماده استفاده کنید. در اینجا چند دلیل وجود دارد که ممکن است بخواهید خودتان نرم افزار خاصی را کامپایل کنید:
منبع آزاد Nginx در دو نسخه موجود است:
Nginx دو نوع ماژول دارد که می توانید از آنها استفاده کنید: ماژول های اصلی و ماژول های شخص ثالث.
توسعه دهندگان اصلی Nginx ماژول های اصلی را می سازند و خود بخشی از نرم افزار هستند.
جامعه ماژول های شخص ثالث ایجاد می کند ، و شما می توانید از آنها برای گسترش کارایی استفاده کنید. ماژول های شخص ثالث مفیدی وجود دارد.
ماژول های استاتیک از نسخه اول در Nginx وجود دارند. ماژول های پویا با Nginx 1.9.11+ در فوریه 2016 معرفی شدند.
با استفاده از ماژول های استاتیک ، مجموعه ای از ماژول های که باینری Nginx را تشکیل می دهند در زمان کامپایل توسط ./configure
اسکریپت ثابت می شوند. از ماژول های استاتیک استفاده --with-foo_bar_module
یا --add-module=PATH
نحو.
برای کامپایل هسته (استاندارد) ماژول به عنوان پویا ما اضافه کردن =dynamic
، برای مثال --with-http_image_filter_module=dynamic
.
برای تدوین ماژول شخص ثالث به عنوان پویا ، از --add-dynamic-module=/path/to/module
نحو استفاده می کنیم و سپس آنها را با استفاده از load_module
بخشنامه در متن جهانی nginx.conf
پرونده بارگذاری می کنیم .
در مقایسه با برخی دیگر از نرم افزارهای UNIX / Linux ، Nginx بسیار سبک وزن است و وابستگی های زیادی به کتابخانه ندارد. پیکربندی ساخت پیش فرض فقط به 3 کتابخانه ای که باید نصب شود بستگی دارد: OpenSSL / LibreSSL / BoringSSL ، Zlib و PCRE.
1.0.2
- 1.1.1
و یا لیبرهاساسال کتابخانه یا BoringSSL کتابخانه1.1.3
-1.2.11
4.4
-8.43
توجه : Nginx مي تواند به جاي OpenSSL در برابر كتابخانه هاي رمزنگاري LibreSSL و BoringSSL نيز جمع آوري شود.
نسخه Debian را بررسی کنید.
lsb_release -ds
# Debian GNU/Linux 10 (buster)
با sudo
دسترسی کاربر معمولی ایجاد کنید .
adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
توجه : با نام کاربری خود جایگزین johndoe
کنید .
به یک کاربر جدید تغییر دهید.
su - johndoe
منطقه زمانی را تنظیم کنید.
sudo dpkg-reconfigure tzdata
نرم افزار سیستم عامل خود را به روز کنید.
sudo apt update && sudo apt upgrade -y
بسته های لازم را نصب کنید.
sudo apt install -y software-properties-common ufw
Nginx برنامه ای است که به زبان C نوشته شده است ، بنابراین ابتدا به نصب یک ابزار کامپایلر نیاز خواهید داشت. نصب کنید build-essential
، git
و tree
.
sudo apt install -y build-essential git tree
آخرین نسخه اصلی کد منبع Nginx را بارگیری کنید و بایگانی کد منبع را باز کنید. کد منبع Nginx به عنوان یک بایگانی فشرده توزیع می شود ، به عنوان بیشتر نرم افزارهای یونیکس و لینوکس.
wget https://nginx.org/download/nginx-1.17.2.tar.gz && tar zxvf nginx-1.17.2.tar.gz
کد منبع وابستگی وابسته به Nginx را بارگیری کنید و آن را استخراج کنید.
# 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
وابستگی های اختیاری Nginx را نصب کنید.
sudo apt install -y perl libperl-dev libgd3 libgd-dev libgeoip1 libgeoip-dev geoip-bin libxml2 libxml2-dev libxslt1.1 libxslt1-dev
همه .tar.gz
پرونده ها را تمیز کنید . ما دیگر به آنها احتیاج نداریم.
rm -rf *.tar.gz
وارد فهرست منبع Nginx شوید.
cd ~/nginx-1.17.2
برای فهرست های اندازه گیری خوب و پرونده هایی که کد منبع Nginx را با آنها تهیه می کنند tree
.
tree -L 2 .
صفحه دستی را کپی کنید /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
برای کمک ، می توانید با اجرای موارد زیر ، لیست کاملی از گزینه های نوبت به روز Nginx را مشاهده کنید.
./configure --help
# To see want core modules can be built as dynamic run:
./configure --help | grep -F =dynamic
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
پس از تدوین ، به فهرست خانه ( ~
) بروید.
cd ~
پیوند نمادین /usr/lib/nginx/modules
به /etc/nginx/modules
. این مکان استاندارد برای ماژول های Nginx است.
sudo ln -s /usr/lib/nginx/modules /etc/nginx/modules
نسخه Nginx ، نسخه کامپایلر را چاپ کنید و پارامترهای اسکریپت پیکربندی کنید.
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 . . .
# . . .
# . . .
یک گروه و کاربر سیستم 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
نحو Nginx و خطاهای احتمالی را بررسی کنید.
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
یک فایل واحد سیستم Nginx ایجاد کنید.
sudo vim /etc/systemd/system/nginx.service
جمعیت /etc/systemd/system/nginx.service
فایل با محتوای زیر.
[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
Nginx را فعال کنید تا در بوت شروع شود و بلافاصله Nginx را شروع کنید.
sudo systemctl enable nginx.service
sudo systemctl start nginx.service
بررسی کنید که Nginx پس از راه اندازی مجدد به طور خودکار شروع می کند یا خیر.
sudo systemctl is-enabled nginx.service
# enabled
وضعیت را بررسی کنید.
sudo systemctl status nginx.service
توجه : با مراجعه به دامنه سایت یا آدرس IP در یک مرورگر وب ، می توانید تأیید کنید که Nginx در حال اجرا است. صفحه استقبال Nginx را مشاهده خواهید کرد. این نشانگر این است که Nginx در سیستم عامل VPS شما فعال و فعال است.
یک نمایه برنامه UFW Nginx ایجاد کنید.
sudo vim /etc/ufw/applications.d/nginx
محتوای زیر را در /etc/ufw/applications.d/nginx
پرونده کپی / چسباندن کنید.
[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
تأیید کنید که پروفایل های برنامه UFW ایجاد و به رسمیت شناخته شده اند.
sudo ufw app list
# Available applications:
# Nginx Full
# Nginx HTTP
# Nginx HTTPS
# OpenSSH
Nginx ، بطور پیش فرض ، .default
فایلهای پشتیبان را در ایجاد می کند /etc/nginx
. .default
پرونده ها را از /etc/nginx
دایرکتوری حذف کنید .
sudo rm /etc/nginx/*.default
نحو برجسته سازی تنظیمات Nginx را برای ویرایشگر Vim قرار دهید ~/.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/
توجه : با انجام مرحله بالا ، هنگام ویرایش پرونده های پیکربندی Nginx در ویرایشگر Vim ، یک نحو زیبا را برجسته خواهید کرد.
درست conf.d
، snippets
، sites-available
و sites-enabled
دایرکتوری ها در /etc/nginx
.
sudo mkdir /etc/nginx/{conf.d,snippets,sites-available,sites-enabled}
مجوزها و مالکیت گروهی پرونده های log Nginx را تغییر دهید.
sudo chmod 640 /var/log/nginx/*
sudo chown nginx:adm /var/log/nginx/access.log /var/log/nginx/error.log
برای Nginx یک پیکربندی چرخش ورود ایجاد کنید.
sudo vim /etc/logrotate.d/nginx
پرونده را با متن زیر جمع کنید ، سپس ذخیره و خارج شوید.
/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
}
همه پرونده های بارگیری شده را از فهرست اصلی حذف کنید.
cd ~
rm -rf nginx-1.17.2/ openssl-1.1.1c/ pcre-8.43/ zlib-1.2.11/
خودشه. اکنون ، آخرین نسخه Nginx را نصب کرده اید. این استاتیک در برابر برخی از کتابخانه های مهم مانند OpenSSL گردآوری شده است. اغلب ، نسخه عرضه شده از سیستم OpenSSL قدیمی است. با استفاده از این روش نصب با نسخه جدیدتر OpenSSL می توانید از رمزگذارهای مدرن مانند CHACHA20_POLY1305
و پروتکل هایی مانند TLS 1.3 که در OpenSSL موجود است استفاده کنید 1.1.1
. علاوه بر این ، با گردآوری دودویی خود ، می توانید نینکس را به چه ویژگی هایی ارائه دهید ، که بسیار انعطاف پذیرتر از نصب باینری از پیش ساخته است.
NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید
هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله
مقدمه MySQL دارای یک ویژگی عالی است که به عنوان بازدید شناخته می شود. نمایش نمایش داده شد. برای یک سؤال طولانی مدت از آنها فکر کنید. در این راهنما ،
در این مقاله به شما می آموزد که چگونه زندان دزدگیر را در دبیان تنظیم کنید. تصور می کنم از Debian 7.x استفاده می کنید. اگر دبیان 6 یا 8 را اجرا کردید ، ممکن است این کار کند
مقدمه یک راه آسان برای راه اندازی سرور VPN در دبیان با PiVPN است. PiVPN نصب و بسته بندی OpenVPN است. این دستورات ساده را برای شما ایجاد می کند
EasyEngine (ee) ابزاری پایتون است که به شما امکان می دهد سایت های وردپرس خود را به راحتی و به صورت خودکار مدیریت کنید. با استفاده از EasyEngine ، شما مجبور به dea نیستید
با استفاده از یک سیستم متفاوت؟ Brotli یک روش فشرده سازی جدید با نسبت فشرده سازی بهتر از Gzip است. کد منبع آن در Github به صورت عمومی میزبانی می شود. تی
با استفاده از یک سیستم متفاوت؟ BlogoText CMS یک سیستم مدیریت محتوا (CMS) ساده و سبک ، آزاد و متن باز است و موتور وبلاگ مینیمالیستی
با استفاده از یک سیستم متفاوت؟ InvoicePlane یک برنامه صورتحساب رایگان و متن باز است. کد منبع آن را می توانید در این مخزن Github پیدا کنید. این راهنما
با استفاده از یک سیستم متفاوت؟ Backdrop CMS 1.8.0 یک سیستم مدیریت محتوا منبع باز و آزاد و متناسب با تلفن همراه ، رایگان و آزاد است که به ما اجازه می دهد
با استفاده از یک سیستم متفاوت؟ Plesk یک صفحه کنترل میزبان وب اختصاصی است که به کاربران امکان می دهد وب سایت ها ، بانک اطلاعاتی شخصی و / یا مشتری خود را مدیریت کنند.
با استفاده از یک سیستم متفاوت؟ BookStack یک سکوی ساده ، خود میزبان و با کاربرد آسان برای سازماندهی و ذخیره اطلاعات است. BookStack کاملاً رایگان و باز است
با استفاده از یک سیستم متفاوت؟ Pagekit 1.0 CMS یک سیستم زیبا و مدولار زیبا ، مدولار ، قابل تمدید و سبک ، آزاد و منبع باز منبع آزاد (CMS) با
با استفاده از یک سیستم متفاوت؟ اسفنج یک پروژه منبع باز است که قابلیت های سرورهای Minecraft را از طریق افزونه ها گسترش می دهد. همراه با برنامه تعدیل شده
معرفی سیستم های لینوکس به طور پیش فرض مانند top ، df و du با ابزارهای نظارتی ارسال می شوند که به نظارت بر فرایندها و فضای دیسک کمک می کنند. با این حال ، اغلب اوقات ، آنها به صورت طاقت فرسا هستند
با استفاده از یک سیستم متفاوت؟ اکتبر 1.0 CMS یک سیستم مدیریت محتوا (CMS) ساده و قابل اعتماد ، رایگان و منبع باز است که در چارچوب Laravel ساخته شده است
Munin ابزاری برای نظارت بر فرآیندها و منابع موجود در دستگاه شما است و اطلاعات را در نمودارها از طریق رابط وب ارائه می دهد. از پیگیری استفاده کنید
با استفاده از یک سیستم متفاوت؟ TLS 1.3 نسخه ای از پروتکل Transport Layer Security (TLS) است که در سال 2018 به عنوان یک استاندارد پیشنهادی در RFC 8446 منتشر شد
در این مقاله خواهیم دید که چگونه خط اصلی Nginx را از منابع رسمی Nginx با ماژول PageSpeed کامپایل و نصب کنید ، که به شما امکان می دهد
با استفاده از یک سیستم متفاوت؟ Flarum یک نرم افزار انجمن نسل بعدی آزاد و منبع باز است که بحث آنلاین را سرگرم کننده می کند. ساده ، سریع و رایگان است
LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.
با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.
NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید
هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله
با استفاده از یک سیستم متفاوت؟ Matomo (سابقا پیویک) یک بستر تحلیلی منبع باز است ، یک جایگزین باز برای Google Analytics. منبع Matomo میزبان o
TeamTalk یک سیستم کنفرانس است که به کاربران امکان می دهد مکالمات صوتی / تصویری با کیفیت بالا ، چت متنی ، انتقال فایل ها و صفحه های به اشتراک بگذارند. من
Vultr یک ویژگی را فراهم می کند که به شما امکان می دهد با ایجاد یک نمونه جدید ، کلیدهای SSH را از قبل نصب کنید. این اجازه می دهد تا به کاربر root دسترسی داشته باشید ، با این حال ، th
با استفاده از یک سیستم متفاوت؟ NodeBB یک نرم افزار انجمن مبتنی بر Node.js است. از سوکت های وب برای تعامل فوری و اعلامیه های زمان واقعی استفاده می کند. NodeB
ZNC یک پیشرانه پیشرفته شبکه IRC است که تمام وقت بهم متصل می شود تا مشتری IRC بتواند بدون از دست دادن جلسه گپ قطع یا وصل شود.
رنجر یک مدیر فایل مبتنی بر خط فرمان است که دارای کلیدهای اتصال VI است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد