نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8
هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله
NGINX می تواند به عنوان سرور HTTP / HTTPS ، سرور پروکسی معکوس ، سرور پروکسی پست الکترونیکی ، متعادل کننده بار ، ترمینال TLS یا سرور ذخیره کننده استفاده شود. با طراحی کاملاً مدولار است. این ماژول های بومی و ماژول های شخص ثالث ایجاد شده توسط جامعه است. نوشتن به زبان برنامه نویسی C ، این نرم افزار بسیار سریع و سبک است.
توجه : NGINX دارای دو جریان نسخه است که به صورت موازی اجرا می شوند - پایدار و خط اصلی . هر دو نسخه را می توان در سرور تولید استفاده کرد. توصیه می شود از نسخه اصلی در تولید استفاده کنید.
نصب NGINX از کد منبع نسبتاً "آسان" است - آخرین نسخه کد منبع NGINX را بارگیری کنید ، پیکربندی ، ساخت و نصب کنید.
در این آموزش از نسخه اصلی استفاده می کنم که در زمان نوشتن 1.13.2 است. مطابق با دسترسی نسخه های جدیدتر ، تعداد نسخه ها را به روز کنید.
الزامات اجباری:
الزامات اختیاری:
قبل از اینکه شروع کنی
sudo
دسترسی کاربر معمولی ایجاد کنید .تغییر به کاربر جدید:
su - <username>
سیستم بروزرسانی:
sudo yum check-update || sudo yum update -y
"ابزارهای توسعه" و ویرایشگر Vim را نصب کنید:
sudo yum groupinstall -y 'Development Tools' && sudo yum install -y vim
نصب بسته های اضافی برای Enterprise Linux (EPEL):
sudo yum install -y epel-release
وابستگی های اختیاری NGINX را بارگیری و نصب کنید:
sudo yum install -y perl perl-devel perl-ExtUtils-Embed libxslt libxslt-devel libxml2 libxml2-devel gd gd-devel GeoIP GeoIP-devel
آخرین نسخه اصلی کد منبع NGINX را بارگیری کرده و آن را استخراج کنید:
wget https://nginx.org/download/nginx-1.13.2.tar.gz && tar zxvf nginx-1.13.2.tar.gz
کد منبع وابستگی NGINX را بارگیری کنید و آنها را استخراج کنید:
# PCRE version 8.40
wget https://ftp.pcre.org/pub/pcre/pcre-8.40.tar.gz && tar xzvf pcre-8.40.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.0f
wget https://www.openssl.org/source/openssl-1.1.0f.tar.gz && tar xzvf openssl-1.1.0f.tar.gz
همه .tar.gz
پرونده ها را حذف کنید . ما دیگر به آنها احتیاج نداریم:
rm -rf *.tar.gz
به فهرست منبع NGINX بروید:
cd ~/nginx-1.13.2
برای اندازه گیری خوب ، پرونده ها و فهرستهای کد منبع nginx را لیست کنید:
ls
# auto CHANGES CHANGES.ru conf configure contrib html LICENSE man README src
صفحه راهنمای NGINX را کپی کنید تا /usr/share/man/man8
:
sudo cp ~/nginx-1.13.2/man/nginx.8 /usr/share/man/man8
sudo gzip /usr/share/man/man8/nginx.8
# Check that Man page for NGINX is working
man nginx
برای کمک ، می توانید سوئیچ های پیکربندی موجود را با اجرا لیست کنید:
./configure --help
# To see want core modules can be build as dynamic run:
./configure --help | grep -F =dynamic
پیکربندی ، کامپایل و نصب NGINX:
./configure --prefix=/etc/nginx \
--sbin-path=/usr/sbin/nginx \
--modules-path=/usr/lib64/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=CentOS \
--builddir=nginx-1.13.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 \
--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.40 \
--with-pcre-jit \
--with-zlib=../zlib-1.2.11 \
--with-openssl=../openssl-1.1.0f \
--with-openssl-opt=no-nextprotoneg \
--with-debug
make
sudo make install
/usr/lib64/nginx/modules
به /etc/nginx/modules
فهرست پیوند دهید تا بتوانید ماژول های پویا را در پیکربندی nginx مانند این بارگذاری کنید load_module modules/ngx_foo_module.so;
:
sudo ln -s /usr/lib64/nginx/modules /etc/nginx/modules
نسخه NGINX ، نسخه کامپایلر و پیکربندی پارامترهای اسکریپت را چاپ کنید:
sudo nginx -V
# nginx version: nginx/1.13.2 (CentOS)
# built by gcc 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC)
# built with OpenSSL 1.1.0f 25 May 2017
# TLS SNI support enabled
# configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx . . .
# . . .
# . . .
کاربر و گروه سیستم NGINX ایجاد کنید:
sudo useradd --system --home /var/cache/nginx --shell /sbin/nologin --comment "nginx user" --user-group nginx
نحو و خطاهای احتمالی را بررسی کنید:
sudo nginx -t
# Will throw this error: nginx: [emerg] mkdir() "/var/cache/nginx/client_temp" failed (2: No such file or directory)
# Just create directory
sudo mkdir -p /var/cache/nginx && sudo nginx -t
ایجاد یک فایل واحد سیستمی برای nginx:
sudo vim /usr/lib/systemd/system/nginx.service
محتوای زیر را کپی / چسباندن:
توجه : مکان فایل PID و باینری NGINX بسته به نحوه تهیه NGINX ممکن است متفاوت باشد.
[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 را شروع و فعال کنید:
sudo systemctl start nginx.service && sudo systemctl enable nginx.service
بررسی کنید که NGINX بعد از راه اندازی مجدد راه اندازی می شود:
sudo systemctl is-enabled nginx.service
# enabled
بررسی کنید که NGINX در حال اجرا است:
sudo systemctl status nginx.service
ps aux | grep nginx
curl -I 127.0.0.1
راه اندازی مجدد VPS خود را برای تأیید اینکه NGINX به طور خودکار شروع به کار می کند:
sudo shutdown -r now
پرونده های باستانی را از /etc/nginx
فهرست حذف کنید:
sudo rm /etc/nginx/koi-utf /etc/nginx/koi-win /etc/nginx/win-utf
نحو محل برجسته از پیکربندی nginx برای vim
به ~/.vim/
. در هنگام ویرایش فایل پیکربندی NGINX برجسته نحو خوبی خواهید داشت:
mkdir ~/.vim/
cp -r ~/nginx-1.13.2/contrib/vim/* ~/.vim/
حذف همه .default
پرونده های پشتیبان از /etc/nginx/
:
sudo rm /etc/nginx/*.default
خودشه. اکنون جدیدترین نسخه NGINX نصب شده است. این استاتیک در برابر برخی از کتابخانه های مهم مانند OpenSSL گردآوری شده است. اغلب ، نسخه OpenSSL سیستم منسوخ شده است. با استفاده از این روش نصب با نسخه جدیدتر OpenSSL می توانید از رمزگذارهای جدید مانند CHACHA20_POLY1305
پروتکل هایی مانند TLS 1.3 که در OpenSSL موجود است 1.1.1
(که در زمان نوشتن منتشر نشده است) استفاده کنید.
هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله
مقدمه RethinkDB یک پایگاه داده NoSQL است که داده ها را به عنوان اسناد JSON ذخیره می کند. این یک زبان پرس و جو بسیار بصری است و از ویژگی های آن معمولا در دسترس است
Vtiger CRM یک نرم افزار محبوب مدیریت ارتباط با مشتری است که می تواند به بنگاهها در رشد فروش ، ارائه خدمات به مشتری و افزایش سود کمک کند. من
با استفاده از یک سیستم متفاوت؟ Couch CMS یک سیستم مدیریت محتوای منبع ساده و انعطاف پذیر ، آزاد و منبع باز (CMS) است که به طراحان وب اجازه می دهد تا طراحی کنند.
با استفاده از یک سیستم متفاوت؟ SonarQube یک ابزار منبع باز برای توسعه سیستم با کیفیت است. در جاوا نوشته شده است و چندین پایگاه داده را پشتیبانی می کند. فراهم می کند
با استفاده از یک سیستم متفاوت؟ Netdata یک ستاره در حال افزایش در زمینه نظارت بر معیارهای سیستم در زمان واقعی است. در مقایسه با سایر ابزارهای مشابه ، Netdata:
HTTP / 2 جدیدترین نسخه پروتکل HTTP است که از SPDY مستقر است. توسعه آن توسط Google آغاز شده است و HTTP / 2 تا حد زیادی بر اساس پایگاه کد است
با استفاده از یک سیستم متفاوت؟ در این آموزش ، Ill در مورد نحوه راه اندازی یک سرور Starbound در CentOS 7 توضیح می دهد. پیش نیازها: شما باید این بازی را روی خود داشته باشید
به یکی دیگر از آموزش های Vultr خوش آمدید. در اینجا ، نحوه نصب و اجرای سرور SAMP را یاد خواهید گرفت. این راهنما برای CentOS 6 نوشته شده است. پیش نیازهای مورد نیاز شما
با استفاده از یک سیستم متفاوت؟ Elgg یک موتور شبکه ای منبع باز است که امکان ایجاد محیط های اجتماعی از جمله شبکه های اجتماعی دانشگاه را فراهم می کند
RStudio Server نسخه وب RStudio است که مجموعه ای از ابزارهایی است که برای تسهیل کار برنامه نویسی با استفاده از زبان برنامه نویسی R طراحی شده است. در سه
Bolt یک CMS منبع باز است که به زبان PHP نوشته شده است. کد منبع Bolts در GitHub میزبانی شده است. این راهنما نحوه نصب Bolt CMS را در CentOS 7 Vult تازه نشان می دهد
Elasticsearch یک موتور جستجوی کامل و متن تحلیلی متن کامل است. به لطف تطبیق پذیری ، مقیاس پذیری و سهولت استفاده ، Elasticsearch گسترده تر است
بررسی اجمالی این مقاله به شما کمک می کند تا در هر زمان خوشه ای از Kubernetes را جمع کنید و با kubeadm در حال اجرا باشید. در این راهنما از دو سرور استفاده می شود
با استفاده از یک سیستم متفاوت؟ مقدمه Sails.js یک چارچوب MVC ��رای Node.js است ، شبیه به Ruby on Rails. این امر برای ایجاد برنامه های مدرن ver
Vultrs عملکرد IP فضای شما را امکان پذیر می سازد تا آزادی بی سابقه ای در اختصاص منابع IP شخصی شما به سرورهای cloud Vultr داشته باشید. ما کلی
مقدمه در این آموزش ، PufferPanel را در Vultr VPS ما نصب کنید. PufferPanel یک پانل کنترل با منبع آزاد و بصورت رایگان برای مدیریت شما است
معرفی سیستم های لینوکس به طور پیش فرض مانند top ، df و du با ابزارهای نظارتی ارسال می شوند که به نظارت بر فرایندها و فضای دیسک کمک می کنند. با این حال ، اغلب اوقات ، آنها به صورت طاقت فرسا هستند
با استفاده از یک سیستم متفاوت؟ LibreNMS یک سیستم نظارت بر شبکه منبع باز کاملاً برجسته است. از SNMP برای به دست آوردن داده ها از دستگاه های مختلف استفاده می کند. یک نوع
با استفاده از یک سیستم متفاوت؟ Gitea یک منبع کنترل جایگزین متن باز و خود میزبان است که توسط Git ساخته شده است. Gitea در Golang نوشته شده و هست
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 است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد