نحوه تهیه Nginx از منبع در فدورا 25

NGINX می تواند به عنوان سرور HTTP / HTTPS ، سرور پروکسی معکوس ، سرور پروکسی پست الکترونیکی ، متعادل کننده بار ، ترمینال TLS یا سرور ذخیره کننده استفاده شود. با طراحی کاملاً مدولار است. این ماژول های بومی و ماژول های شخص ثالث ایجاد شده توسط جامعه است. نوشتن به زبان برنامه نویسی C ، این نرم افزار بسیار سریع و سبک است.

توجه : NGINX دارای دو جریان نسخه است که به صورت موازی اجرا می شوند - پایدار و خط اصلی . هر دو نسخه را می توان در سرور تولید استفاده کرد. توصیه می شود از نسخه اصلی در تولید استفاده کنید.

نصب NGINX از کد منبع نسبتاً "آسان" است - آخرین نسخه کد منبع NGINX را بارگیری کنید ، پیکربندی ، ساخت و نصب کنید.

در این آموزش از نسخه اصلی استفاده می کنم که در زمان نوشتن 1.13.3 است. مطابق با دسترسی نسخه های جدیدتر ، تعداد نسخه ها را به روز کنید.

مورد نیاز برای ساخت NGINX از منبع

الزامات اجباری:

  • نسخه کتابخانه OpenSSL بین 1.0.2 - 1.1.0
  • نسخه کتابخانه zlib بین 1.1.3 - 1.2.11
  • نسخه کتابخانه PCRE بین 4.4 - 8.41
  • کامپایلر GCC

الزامات اختیاری:

قبل از اینکه شروع کنی

  1. با sudoدسترسی منظم کاربر را ایجاد کنید :

  2. تغییر به کاربر جدید:

    su - <username>
    
  3. سیستم بروزرسانی:

    sudo dnf check-update || sudo dnf upgrade -y
    

NGINX را از مبدا بسازید

  1. "ابزارهای توسعه" ، ویرایشگر Vim ، wget و gcc-c ++ را نصب کنید:

    sudo dnf install -y @development-tools && sudo dnf install -y vim wget gcc-c++
    
  2. آخرین نسخه اصلی کد منبع NGINX را بارگیری کنید و آن را غیرفعال کنید:

    wget https://nginx.org/download/nginx-1.13.3.tar.gz && tar zxvf nginx-1.13.3.tar.gz
    
  3. کد منبع وابستگی NGINX را بارگیری کنید و آنها را استخراج کنید:

    NGINX به 3 كتابخانه بستگی دارد: PCRE ، zlib و OpenSSL :

    # PCRE version 8.41
    wget https://ftp.pcre.org/pub/pcre/pcre-8.41.tar.gz && tar xzvf pcre-8.41.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
    
  4. وابستگی های اختیاری NGINX را بارگیری و نصب کنید:

    # perl
    sudo dnf install -y perl perl-devel perl-ExtUtils-Embed
    
    # libxslt
    sudo dnf install -y libxslt libxslt-devel
    
    # libxml2
    sudo dnf install -y libxml2 libxml2-devel
    
    # libgd
    sudo dnf install -y gd gd-devel
    
    # GeoIP
    sudo dnf install -y GeoIP GeoIP-devel
    
    # Libatomic_Ops
    sudo dnf install -y libatomic_ops libatomic_ops-devel
    
  5. همه .tar.gzپرونده ها را حذف کنید . ما دیگر به آنها احتیاج نداریم:

    rm -rf *.tar.gz
    
  6. به فهرست منبع NGINX بروید:

    cd ~/nginx-1.13.3
    
  7. برای اندازه گیری خوب ، فایلها و فهرستهای منبع NGINX را فهرست کنید:

    ls
    # auto  CHANGES  CHANGES.ru  conf  configure  contrib  html  LICENSE  man  README  src
    
  8. صفحه راهنمای NGINX را کپی کنید تا /usr/share/man/man8/:

    sudo cp ~/nginx-1.13.3/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
    
  9. برای کمک ، می توانید سوئیچ های پیکربندی موجود را با اجرا لیست کنید:

    ./configure --help
    # To see want core modules can be build as dynamic run:
    ./configure --help | grep -F =dynamic
    
  10. پیکربندی ، کامپایل و نصب 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=Fedora \
                --builddir=nginx-1.13.3 \
                --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=/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.41 \
                --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
    
  11. نسخه NGINX ، نسخه کامپایلر و پیکربندی پارامترهای اسکریپت را چاپ کنید:

    nginx -V
    
    # nginx version: nginx/1.13.3 (Fedora)
    # built by gcc 6.3.1 20161221 (Red Hat 6.3.1-1) (GCC)
    # built with OpenSSL 1.1.0f  25 May 2017
    # TLS SNI support enabled
    # configure arguments: --prefix=/etc/nginx . . .
    # . . .
    
  12. کاربر و گروه سیستم NGINX ایجاد کنید:

    sudo useradd --system --home /var/cache/nginx --shell /sbin/nologin --comment "nginx user" --user-group nginx
    
  13. نحو و خطاهای احتمالی را بررسی کنید:

    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
    
  14. یک فایل واحد سیستمی برای NGINX ایجاد کنید:

    sudo vim /etc/systemd/system/nginx.service
    
  15. محتوای زیر را کپی / چسباندن:

    توجه : مکان PIDپرونده و دودویی NGINX بسته به نحوه تهیه NGINX ممکن است متفاوت باشد.

    [Unit]
    Description=Nginx - A high performance web server and a reverse proxy server
    Documentation=http://nginx.org/en/docs/
    After=network.target
    
    [Service]
    Type=forking
    PIDFile=/var/run/nginx.pid
    ExecStartPre=/usr/sbin/nginx -t -q -g 'daemon on; master_process on;'
    ExecStart=/usr/sbin/nginx -g 'daemon on; master_process on;'
    ExecReload=/usr/sbin/nginx -g 'daemon on; master_process on;' -s reload
    ExecStop=-/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /var/run/nginx.pid
    TimeoutStopSec=5
    KillMode=mixed
    
    [Install]
    WantedBy=multi-user.target
    
  16. NGINX را شروع کنید:

    sudo systemctl start nginx.service
    
  17. NGINX را برای شروع خودکار در بوت فعال کنید:

    sudo systemctl enable nginx.service
    
  18. بررسی کنید که NGINX بعد از راه اندازی مجدد راه اندازی می شود:

    sudo systemctl is-enabled nginx.service
    # enabled
    
  19. بررسی کنید که NGINX در حال اجرا است:

    sudo systemctl status nginx.service
    ps aux | grep nginx
    curl -I 127.0.0.1
    
  20. راه اندازی مجدد VPS خود را برای تأیید اینکه NGINX به طور خودکار شروع به کار می کند:

    sudo shutdown -r now
    
  21. پرونده های باستانی را از /etc/nginx/فهرست حذف کنید:

    sudo rm /etc/nginx/koi-utf /etc/nginx/koi-win /etc/nginx/win-utf
    
  22. فایل های برجسته نحو از پیکربندی NGINX vimرا در قسمت قرار دهید ~/.vim/. در هنگام ویرایش فایل پیکربندی NGINX با نحوی دلپذیر برجسته خواهید شد:

    mkdir ~/.vim/
    cp -r ~/nginx-1.13.3/contrib/vim/* ~/.vim/
    
  23. یک conf.d/دایرکتوری در /etc/nginx/دایرکتوری تهیه کنید. در این فهرست می توانید سرورهای مجازی و بالادست را قرار دهید:

    sudo mkdir /etc/nginx/conf.d/
    
  24. پوشه ها و پرونده های استخراج شده را از فهرست خانه خود حذف کنید:

    rm -rf nginx-1.13.3/ openssl-1.1.0f/ pcre-8.41/ zlib-1.2.11/
    

نتیجه

خودشه. اکنون جدیدترین نسخه NGINX نصب شده است. این استاتیک در برابر برخی از کتابخانه های مهم مانند OpenSSL گردآوری شده است. اغلب ، نسخه OpenSSL سیستم منسوخ شده است. با استفاده از این روش نصب با نسخه جدیدتر OpenSSL می توانید از رمزگذارهای جدید مانند CHACHA20_POLY1305پروتکل هایی مانند TLS 1.3 که در OpenSSL موجود است 1.1.1(که در زمان نوشتن منتشر نشده است) استفاده کنید.



Leave a Comment

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.

نحوه نصب Matomo Analytics در Fedora 28

نحوه نصب Matomo Analytics در Fedora 28

با استفاده از یک سیستم متفاوت؟ Matomo (سابقا پیویک) یک بستر تحلیلی منبع باز است ، یک جایگزین باز برای Google Analytics. منبع Matomo میزبان o

نحوه نصب Dolibarr در Fedora 28

نحوه نصب Dolibarr در Fedora 28

با استفاده از یک سیستم متفاوت؟ Dolibarr یک برنامه ریزی منبع باز شرکت (ERP) و مدیریت ارتباط با مشتری (CRM) برای تجارت است. دلیبار

نحوه نصب AWStats در Fedora 28

نحوه نصب AWStats در Fedora 28

AWStats ابزاری مفید برای تحلیل ترافیک وب است. رابط HTML آن از طریق مرورگر قابل دسترسی است و به شما اطلاعاتی آسان درباره اینکه چه کسی شما را مشاهده می کند ، می شود

نحوه نصب Subrion 4.1 CMS بر روی یک VPS Fedora 26 LAMP

نحوه نصب Subrion 4.1 CMS بر روی یک VPS Fedora 26 LAMP

با استفاده از یک سیستم متفاوت؟ Subrion 4.1 CMS یک سیستم مدیریت محتوای متن باز (CMS) قدرتمند و قابل انعطاف است که یک کانتینر بصری و واضح را به ارمغان می آورد.

نحوه نصب Gitea در Fedora 29

نحوه نصب Gitea در Fedora 29

با استفاده از یک سیستم متفاوت؟ Gitea یک منبع کنترل جایگزین متن باز و خود میزبان است که توسط Git ساخته شده است. Gitea در Golang نوشته شده و هست

نحوه استقرار Ghost در فدورا 25

نحوه استقرار Ghost در فدورا 25

با استفاده از یک سیستم متفاوت؟ Ghost یک ��لتفرم وبلاگ نویسی منبع باز است که از زمان انتشار 2013 خود محبوبیت زیادی بین توسعه دهندگان و کاربران عادی پیدا می کند. من

نحوه نصب انجمن NodeBB در Fedora 28

نحوه نصب انجمن NodeBB در Fedora 28

با استفاده از یک سیستم متفاوت؟ NodeBB یک انجمن مبتنی بر Node.js است. از سوکت های وب برای تعامل فوری و اعلامیه های زمان واقعی استفاده می کند. کد منبع NodeBB i

نحوه نصب ریزر RSS ریز خواننده بر روی یک VPS Fedora 26 LAMP

نحوه نصب ریزر RSS ریز خواننده بر روی یک VPS Fedora 26 LAMP

با استفاده از یک سیستم متفاوت؟ Tiny Tiny RSS Reader خواننده و جمع کننده منبع خبری وب مبتنی بر منبع آزاد (RSS / Atom) رایگان و منبع باز است که به منظور پخش

نحوه نصب Backdrop CMS 1.8.0 در یک VPS Fedora 26 LAMP

نحوه نصب Backdrop CMS 1.8.0 در یک VPS Fedora 26 LAMP

با استفاده از یک سیستم متفاوت؟ Backdrop CMS 1.8.0 یک سیستم مدیریت محتوا منبع باز و آزاد و متناسب با تلفن همراه ، رایگان و آزاد است که به ما اجازه می دهد

نحوه نصب مایکروویو در Fedora 28

نحوه نصب مایکروویو در Fedora 28

با استفاده از یک سیستم متفاوت؟ Microweber کشیدن و رها کردن منبع باز CMS و فروشگاه آنلاین است. کد منبع مایکروویو در GitHub میزبانی شده است. این راهنما یو را نشان می دهد

نحوه نصب Osclass در Fedora 28

نحوه نصب Osclass در Fedora 28

با استفاده از یک سیستم متفاوت؟ Osclass یک پروژه منبع باز است که به شما امکان می دهد به راحتی و بدون دانش فنی یک سایت طبقه بندی شده ایجاد کنید. منبع آن

HTMLDoc را در Fedora 29 نصب کنید

HTMLDoc را در Fedora 29 نصب کنید

با استفاده از یک سیستم متفاوت؟ HTMLDoc به صورت پویا اسناد اسکریپت پستی (PDF 1.6) را از متن Hypertext به درستی نوشته شده تجزیه می کند (HTML 3.2). این به شما امکان می دهد

نحوه نصب PyroCMS در Fedora 28

نحوه نصب PyroCMS در Fedora 28

با استفاده از یک سیستم متفاوت؟ PyroCMS یک CMS منبع باز است که به زبان PHP نوشته شده است. کد منبع PyroCMS در GitHub میزبانی شده است. در این راهنما به خوبی از طریق Entir قدم بردارید

نحوه نصب CMS اکتبر 1.0 بر روی یک VPS Fedora 26 LAMP

نحوه نصب CMS اکتبر 1.0 بر روی یک VPS Fedora 26 LAMP

با استفاده از یک سیستم متفاوت؟ اکتبر 1.0 CMS یک سیستم مدیریت محتوا (CMS) ساده و قابل اعتماد ، رایگان و منبع باز است که در چارچوب Laravel ساخته شده است

نصب Akaunting در Fedora 28

نصب Akaunting در Fedora 28

با استفاده از یک سیستم متفاوت؟ Akaunting یک نرم افزار حسابداری رایگان ، منبع باز و آنلاین است که برای مشاغل کوچک و آزاد مترجم طراحی شده است. ساخته شوخ طبعی است

نحوه نصب Bludit CMS در Fedora 28

نحوه نصب Bludit CMS در Fedora 28

با استفاده از یک سیستم متفاوت؟ Bludit یک CMS بلاگ نویسی ساده ، سریع و انعطاف پذیر است که به زبان PHP نوشته شده است. Bludit از فایلهایی با فرمت JSON برای ذخیره محتوا استفاده می کند ، بنابراین نمی دانید

نحوه نصب و پیکربندی TaskBoard در Fedora 30

نحوه نصب و پیکربندی TaskBoard در Fedora 30

با استفاده از یک سیستم متفاوت؟ مقدمه TaskBoard ابزاری آزاد و منبع باز است که می تواند برای ردیابی مواردی که برای انجام کار نیاز دارند ، استفاده شود. فراهم می کند

نحوه نصب MODX Revolution بر روی یک VPS Fedora 26 LAMP

نحوه نصب MODX Revolution بر روی یک VPS Fedora 26 LAMP

با استفاده از یک سیستم متفاوت؟ MODX Revolution یک سیستم مدیریت محتوای محتوا (CMS) سریع ، انعطاف پذیر ، مقیاس پذیر ، آزاد و منبع آزاد است.

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.

اشتراک NFS را در Debian تنظیم کنید

اشتراک NFS را در Debian تنظیم کنید

NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله

نحوه نصب Matomo Analytics در Fedora 28

نحوه نصب Matomo Analytics در Fedora 28

با استفاده از یک سیستم متفاوت؟ Matomo (سابقا پیویک) یک بستر تحلیلی منبع باز است ، یک جایگزین باز برای Google Analytics. منبع Matomo میزبان o

یک سرور TeamTalk را در لینوکس تنظیم کنید

یک سرور TeamTalk را در لینوکس تنظیم کنید

TeamTalk یک سیستم کنفرانس است که به کاربران امکان می دهد مکالمات صوتی / تصویری با کیفیت بالا ، چت متنی ، انتقال فایل ها و صفحه های به اشتراک بگذارند. من

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

Vultr یک ویژگی را فراهم می کند که به شما امکان می دهد با ایجاد یک نمونه جدید ، کلیدهای SSH را از قبل نصب کنید. این اجازه می دهد تا به کاربر root دسترسی داشته باشید ، با این حال ، th

نحوه نصب انجمن NodeBB در FreeBSD 12

نحوه نصب انجمن NodeBB در FreeBSD 12

با استفاده از یک سیستم متفاوت؟ NodeBB یک نرم افزار انجمن مبتنی بر Node.js است. از سوکت های وب برای تعامل فوری و اعلامیه های زمان واقعی استفاده می کند. NodeB

نصب و راه اندازی ZNC در اوبونتو

نصب و راه اندازی ZNC در اوبونتو

ZNC یک پیشرانه پیشرفته شبکه IRC است که تمام وقت بهم متصل می شود تا مشتری IRC بتواند بدون از دست دادن جلسه گپ قطع یا وصل شود.

نحوه نصب Ranger Terminal File Manager در لینوکس

نحوه نصب Ranger Terminal File Manager در لینوکس

رنجر یک مدیر فایل مبتنی بر خط فرمان است که دارای کلیدهای اتصال VI است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد