FreeBSD 12.0 पर Nginx, MySQL और PHP (FEMP) स्टैक को कैसे स्थापित करें

एक FEMP स्टैक, जो लिनक्स पर LEMP स्टैक के बराबर है, ओपन-सोर्स सॉफ्टवेयर का एक संग्रह है जो आमतौर पर डायनेमिक वेबसाइट और वेब एप्लिकेशन को होस्ट करने के लिए फ्रीबीएसडी सर्वर को सक्षम करने के लिए एक साथ स्थापित किया जाता है। FEMP एक ऐसा संक्षिप्त नाम है जो FreeBSD, Nginx, MySQL और PHP के लिए है।

इस गाइड में, हम एक FreeBSD 12.0 Vultr उदाहरण पर एक FEMP स्टैक के तत्वों को तैनात करेंगे pkg, FreeBSD पैकेज मैनेजर।

आवश्यकताएँ

इस गाइड को शुरू करने से पहले, आपको निम्नलिखित की आवश्यकता होगी:

  • एक FreeBSD 12.0 VPS।
  • रूट विशेषाधिकार या sudoउपयोगकर्ता जो कॉन्फ़िगरेशन परिवर्तन करने के लिए उपयोगकर्ता है।
  • फ्रीबीएसडी सिस्टम और कमांड-लाइन इंटरफेस के साथ बुनियादी परिचित की सिफारिश की जाती है।

शुरू करने से पहले

FreeBSD संस्करण की जाँच करें।

uname -ro
# FreeBSD 12.0-RELEASE-p6

सुनिश्चित करें कि आपका FreeBSD सिस्टम अप टू डेट है।

freebsd-update fetch install
pkg update && pkg upgrade -y

आवश्यक पैकेज स्थापित करें।

pkg install -y sudo vim bash curl

अपने पसंदीदा उपयोगकर्ता नाम के साथ एक नया उपयोगकर्ता खाता बनाएँ। हम उपयोग करते हैं johndoe

adduser

# Username: johndoe
# Full name: John Doe
# Uid (Leave empty for default): <Enter>
# Login group [johndoe]: <Enter>
# Login group is johndoe. Invite johndoe into other groups? []: wheel
# Login class [default]: <Enter>
# Shell (sh csh tcsh nologin) [sh]: bash
# Home directory [/home/johndoe]: <Enter>
# Home directory permissions (Leave empty for default): <Enter>
# Use password-based authentication? [yes]: <Enter>
# Use an empty password? (yes/no) [no]: <Enter>
# Use a random password? (yes/no) [no]: <Enter>
# Enter password: your_secure_password
# Enter password again: your_secure_password
# Lock out the account after creation? [no]: <Enter>
# OK? (yes/no): yes
# Add another user? (yes/no): no
# Goodbye!

समूह के सदस्यों को किसी भी कमांड को निष्पादित करने की अनुमति देने के लिए, visudoकमांड चलाएं और %wheel ALL=(ALL) ALLलाइन को अनकम्प्लीट करें wheel

visudo

# Uncomment by removing hash (#) sign
# %wheel ALL=(ALL) ALL

अब, अपने नए बने उपयोगकर्ता के साथ स्विच करें su:

su - johndoe

नोट: अपने उपयोगकर्ता नाम के साथ बदलें johndoe

टाइमजोन सेट करें:

sudo tzsetup

मेनलाइन Nginx स्थापित करना

तुम्हें पता है, Nginx FreeBSD के पैकेज मैनेजर का उपयोग कर स्थापित कर सकते हैं pkg। एक पैकेज प्रबंधक आपको फ्रीबीएसडी द्वारा बनाए गए भंडार से आसानी से अधिकांश सॉफ़्टवेयर स्थापित करने की अनुमति देता है। आप यहां उपयोग करने के तरीके केpkg बारे में अधिक जान सकते हैं ।

नवीनतम मेनलाइन Nginx स्थापित करने के लिए, निम्नलिखित कमांड जारी करें:

sudo pkg install -y nginx-devel

संस्करण की जाँच करें:

nginx -v
# nginx version: nginx/1.17.1

यह कमांड नवीनतम मेनलाइन संस्करण स्थापित करेगा, जो मज़बूती से किसी प्रोडक्शन सर्वर पर उपयोग किया जा सकता है। यदि आप नवीनतम स्थिर रिलीज़ को स्थापित करना चाहते हैं, तो nginxइसके बजाय केवल पैकेज का उपयोग करें nginx-devel

अब, सक्षम करें और Nginx शुरू करें:

sudo sysrc nginx_enable=yes
sudo service nginx start

यह जांचने के लिए कि नगनेक्स ने शुरू किया है आप निम्न कमांड चला सकते हैं:

sudo service nginx status

परिणामस्वरूप, आपको निम्नलिखित के समान कुछ दिखाई देगा:

# Output
nginx is running as pid 17607.

आप यह सत्यापित कर सकते हैं कि आपके वेब ब्राउज़र में आपके सर्वर के सार्वजनिक आईपी पते पर जाकर Nginx स्थापित किया गया था और त्रुटियों के बिना काम कर रहा था। पर नेविगेट करें your_server_IP। आप डिफ़ॉल्ट "nginx में आपका स्वागत है!" पृष्ठ।

MySQL स्थापित करना

फिर से, आप pkgअपने सॉफ़्टवेयर को प्राप्त करने और स्थापित करने के लिए उपयोग कर सकते हैं ।

MySQL का उपयोग कर स्थापित करें pkg:

sudo pkg install -y mysql80-client mysql80-server

संस्करण की जाँच करें:

mysql --version
# mysql  Ver 8.0.16 for FreeBSD12.0 on amd64 (Source distribution)

अब, सक्षम करें और MySQL शुरू करें:

sudo sysrc mysql_enable=yes
sudo service mysql-server start

यह जाँचने के लिए कि MySQL आपने शुरू की है, आप निम्न कमांड चला सकते हैं:

sudo service mysql-server status

आप निम्नलिखित के समान कुछ देखेंगे:

# Output
mysql is running as pid 19066.

एक अच्छे अभ्यास के रूप में, आपको mysql_secure_installationसुरक्षा स्क्रिप्ट को चलाना चाहिए जो आपके डेटाबेस सिस्टम में कुछ असुरक्षित चूक और थोड़ी सी सीमा तक पहुंच को हटा देगा।

sudo mysql_secure_installation

आपको एक पासवर्ड सेट करने के लिए कहा जाएगा, इसके बाद कुछ अन्य प्रश्न होंगे। एक मजबूत पासवर्ड दर्ज करें और फिर शेष प्रश्नों के ENTERलिए चूक का चयन करने के लिए दबाएं ।

PHP 7.3 स्थापित करना

पीएचपी को स्थापित करने के 7.3साथ pkg, इस कमांड चलाएँ:

sudo pkg install -y php73

संस्करण की जाँच करें।

php --version
# PHP 7.3.7 (cli) (built: Jul 18 2019 01:14:37) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.3.7, Copyright (c) 1998-2018 Zend Technologies

सॉफ्ट-लिंक php.ini-productionसे php.ini

sudo ln -s /usr/local/etc/php.ini-production /usr/local/etc/php.ini

अब, PHP-FPM को सक्षम और शुरू करें:

sudo sysrc php_fpm_enable=yes
sudo service php-fpm start

यह जाँचने के लिए कि PHP-FPM ने शुरू किया है आप निम्न कमांड चला सकते हैं:

sudo service php-fpm status

परिणामस्वरूप, आपको कुछ समान दिखाई देगा:

# Output
php_fpm is running as pid 23005.

PHP मॉड्यूल स्थापित करना (वैकल्पिक)

PHP की कार्यक्षमता बढ़ाने के लिए, आप वैकल्पिक रूप से कुछ अतिरिक्त मॉड्यूल स्थापित कर सकते हैं।

वर्तमान में PHP मॉड्यूल में संकलित देखने के लिए, आप इसे चला सकते हैं:

php -m
# [PHP Modules]
# Core
# date
# libxml
# mysqlnd
# pcre
# Reflection
# SPL
# standard

# [Zend Modules]

उपलब्ध PHP मॉड्यूल की खोज करने के लिए, आप इस कमांड का उपयोग कर सकते हैं:

pkg search ^php73-*

परिणाम ज्यादातर PHP 7.3 मॉड्यूल होंगे जिन्हें आप इंस्टॉल कर सकते हैं:

# Output
# php73-7.3.7                    PHP Scripting Language
# php73-Ice37-3.7.2              Modern alternative to object middleware such as CORBA/COM/DCOM/COM+
# php73-aphpbreakdown-2.2.2      Code-Analyzer for PHP for Compatibility Check-UP
# php73-aphpunit-1.8             Testing framework for unit tests
# php73-bcmath-7.3.7             The bcmath shared extension for php
# php73-brotli-0.7.0             Brotli extension for PHP
# php73-bsdconv-11.5.0           PHP wrapper for bsdconv
# php73-bz2-7.3.7                The bz2 shared extension for php
# php73-calendar-7.3.7           The calendar shared extension for php
# php73-composer-1.8.6           Dependency Manager for PHP
# php73-ctype-7.3.7              The ctype shared extension for php
# php73-curl-7.3.7               The curl shared extension for php
# . . .

यदि, शोध करने के बाद, आप तय करते हैं कि आपको एक पैकेज स्थापित करने की आवश्यकता है, तो आप pkg installकमांड का उपयोग करके ऐसा कर सकते हैं । अधिकांश PHP वेब एप्लिकेशन को अतिरिक्त मॉड्यूल की आवश्यकता होगी, इसलिए यह जानना अच्छा है कि उन्हें कैसे खोजना है।

PHP मॉड्यूल का उपयोग करने के लिए Nginx को कॉन्फ़िगर करना

PHP का उपयोग करने से पहले, आपको इसे Nginx के साथ काम करने के लिए कॉन्फ़िगर करना होगा।

sudo vim /usr/local/etc/nginx/test.confफ़ाइल को निम्न सामग्री से चलाएँ और आबाद करें:

server {

  listen 80;
  server_name SERVER_IP; # Replace with your IP or hostname
  root /usr/local/www/nginx-dist;
  index index.php index.html index.htm;

  location / {
    try_files $uri $uri/ =404;
  }

  location ~ \.php$ {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
  }

}

फ़ाइल और साथ बाहर निकलने को बचाने :+ W+Q

अब हमें test.confमुख्य nginx.confफाइल में शामिल करने की आवश्यकता है । Nginx के लिए मुख्य विन्यास फाइल के नीचे रहता है /usr/local/etc/nginxके रूप में nginx.conf

sudo vim /usr/local/etc/nginx/nginx.confविम में मुख्य कॉन्फ़िगरेशन फ़ाइल खोलने के लिए चलाएँ और http {}ब्लॉक में निम्न पंक्ति जोड़ें ।

include test.conf;

टेस्ट Nginx विन्यास:

sudo nginx -t

क्योंकि आपने Nginx में कॉन्फ़िगरेशन परिवर्तन किए हैं, इसलिए आपको उन लोगों के लिए सेवा को फिर से लोड करना होगा जिन्हें लागू किया जाना है। अन्यथा, नग्नेक्स अभी भी पहले के कॉन्फ़िगरेशन के साथ काम करेगा।

sudo service nginx reload

परीक्षण PHP प्रसंस्करण

यह जांचने के लिए कि आपका सिस्टम PHP के लिए सही तरीके से कॉन्फ़िगर किया गया है, आप एक बहुत ही मूल PHP स्क्रिप्ट बना सकते हैं। आप इस स्क्रिप्ट को कॉल करेंगे info.php। डिफ़ॉल्ट रूप से, इसके rootलिए सेट किया गया है /usr/local/www/nginx-dist। आप info.phpउस स्थान के तहत फाइल बना सकते हैं :

sudo vim /usr/local/www/nginx-dist/info.php

इस कोड को उस फ़ाइल में जोड़ें:

<?php phpinfo(); ?>

पर जाएँ http://your_server_IP/ìnfo.phpऔर आप निम्न पृष्ठ देखेंगे:

FreeBSD 12.0 पर Nginx, MySQL और PHP (FEMP) स्टैक को कैसे स्थापित करें

स्थापना और सेटअप के बाद आपको info.phpसर्वर के बारे में जानकारी सार्वजनिक करने से बचने के लिए फ़ाइल को निकाल देना चाहिए ।

sudo rm /usr/local/www/nginx-dist/info.php

निष्कर्ष

बधाई हो, आपने अपने FreeBSD 12.0 VPS पर सफलतापूर्वक FEMP स्टैक स्थापित किया है। अब आपके पास आगे क्या करना है इसके लिए कई विकल्प हैं। आपने एक प्लेटफ़ॉर्म स्थापित किया है जो आपको अधिकांश प्रकार की वेबसाइटों और वेब सॉफ़्टवेयर को इसके शीर्ष पर स्थापित करने की अनुमति देगा।



Leave a Comment

Ubuntu 16.04 पर लाइटकार्ट शॉपिंग कार्ट प्लेटफ़ॉर्म कैसे स्थापित करें

Ubuntu 16.04 पर लाइटकार्ट शॉपिंग कार्ट प्लेटफ़ॉर्म कैसे स्थापित करें

LiteCart PHP, jQuery और HTML में लिखा गया एक स्वतंत्र और ओपन सोर्स शॉपिंग कार्ट प्लेटफॉर्म है। यह ई-कॉमर्स सॉफ्टवेअर का उपयोग करने के लिए एक सरल, हल���का और आसान है

डेबियन पर सेटअप NFS शेयर

डेबियन पर सेटअप NFS शेयर

एनएफएस एक नेटवर्क-आधारित फाइल सिस्टम है जो कंप्यूटरों को कंप्यूटर नेटवर्क पर फाइलों तक पहुंचने की अनुमति देता है। यह मार्गदर्शिका बताती है कि आप एनएफ पर फ़ोल्डर्स को कैसे उजागर कर सकते हैं

मोटोमो एनालिटिक्स को फेडोरा 28 पर कैसे स्थापित करें

मोटोमो एनालिटिक्स को फेडोरा 28 पर कैसे स्थापित करें

एक अलग प्रणाली का उपयोग? माटोमो (पूर्व में पिविक) एक ओपन सोर्स एनालिटिक्स प्लेटफॉर्म है, जो गूगल एनालिटिक्स का एक खुला विकल्प है। Matomo स्रोत को होस्ट किया गया है

Linux पर एक TeamTalk Server सेटअप करें

Linux पर एक TeamTalk Server सेटअप करें

टीमटॉक एक कॉन्फ्रेंसिंग प्रणाली है जो उपयोगकर्ताओं को उच्च-गुणवत्ता वाले ऑडियो / वीडियो वार्तालाप, टेक्स्ट चैट, स्थानांतरण फ़ाइलें और स्क्रीन साझा करने की अनुमति देती है। यह मैं

विंडोज सर्वर पर Garrys मॉड कैसे स्थापित करें

विंडोज सर्वर पर Garrys मॉड कैसे स्थापित करें

परिचय यह आलेख बताएगा कि विंडोज सर्वर 2012 पर गारस मोड सर्वर को कैसे डाउनलोड और इंस्टॉल किया जाए। यह गाइड गहराई में होने के लिए बनाया गया है।

कैसे स्थापित करें और अपने CentOS 7 सर्वर पर CyberPanel कॉन्फ़िगर करें

कैसे स्थापित करें और अपने CentOS 7 सर्वर पर CyberPanel कॉन्फ़िगर करें

एक अलग प्रणाली का उपयोग? परिचय CyberPanel बाजार पर पहला नियंत्रण पैनल है जो दोनों खुला स्रोत है और OpenLiteSpeed ​​का उपयोग करता है। क्या थी?

CentOS पर FFmpeg कैसे स्थापित करें

CentOS पर FFmpeg कैसे स्थापित करें

FFmpeg ऑडियो और वीडियो रिकॉर्ड करने, कन्वर्ट करने और स्ट्रीम करने के लिए एक लोकप्रिय ओपन सोर्स समाधान है, जो सभी प्रकार की ऑनलाइन स्ट्रीमिंग सेवाओं में व्यापक रूप से उपयोग किया जाता है। मैं

SSH का उपयोग करके LUKS डिस्क एन्क्रिप्शन पर LVM को दूरस्थ रूप से अनलॉक करने के लिए CentOS 7 स्थापित और सेटअप करें

SSH का उपयोग करके LUKS डिस्क एन्क्रिप्शन पर LVM को दूरस्थ रूप से अनलॉक करने के लिए CentOS 7 स्थापित और सेटअप करें

एलयूकेएस (लिनक्स यूनिफाइड की सेटअप) लिनक्स के लिए उपलब्ध विभिन्न डिस्क एन्क्रिप्शन प्रारूपों में से एक है जो प्लेटफॉर्म एग्नॉस्टिक है। यह ट्यूटोरियल आपको बुद्धि प्रदान करेगा

अपने Vultr VPS को कैसे एक्सेस करें

अपने Vultr VPS को कैसे एक्सेस करें

Vultr अपने VPS को कॉन्फ़िगर करने, स्थापित करने और उपयोग करने के लिए कई अलग-अलग तरीके प्रदान करता है। क्रेडेंशियल एक्सेस करें आपके VPS के लिए डिफ़ॉल्ट एक्सेस क्रेडेंशियल ar

CentOS 7 पर अक्टूबर CMS को कैसे स्थापित करें

CentOS 7 पर अक्टूबर CMS को कैसे स्थापित करें

अक्टूबर एक खुला स्रोत सामग्री प्रबंधन प्रणाली है जो लारवेल PHP फ्रेमवर्क पर आधारित है। एक सुरुचिपूर्ण इंटरफ़ेस और एक संक्षिप्त मॉड्यूलर वास्तुकला के साथ