ວິທີການຕິດຕັ້ງ Nginx 1.15, MariaDB 10 ແລະ PHP 7 ໃນ CentOS 7
ໃນບົດຂຽນນີ້ພວກເຮົາຈະອະທິບາຍວິທີການຕິດຕັ້ງ LEMP stack (Linux, Nginx, MariaDB, PHP) ພ້ອມດ້ວຍ PHP-FPM ໃນ RHEL/CentOS 7/6 ແລະເຄື່ອງແມ່ຂ່າຍ Fedora 26-29 ໂດຍໃຊ້ dnf package manager.
ໃນລະຫວ່າງຂັ້ນຕອນນີ້ພວກເຮົາຈະຕິດຕັ້ງແລະເປີດໃຊ້ຫໍສະ ໝຸດ Epel, Remi, Nginx ແລະ MariaDB ເພື່ອໃຫ້ສາມາດຕິດຕັ້ງລຸ້ນ ໃໝ່ ຫຼ້າສຸດຂອງແພັກເກດເຫຼົ່ານີ້.
ຂັ້ນຕອນທີ 1: ການຕິດຕັ້ງ EPEL ແລະ Remi Repository
EPEL (ແພກເກດພິເສດ ສຳ ລັບ Linux Linux) ແມ່ນຫໍສະມຸດຊຸມຊົນທີ່ມີໂປແກຼມເພີ່ມເຕີມ ສຳ ລັບການແຈກຈ່າຍ Linux ທີ່ອີງໃສ່ RHEL.
Remi ແມ່ນບ່ອນເກັບມ້ຽນບ່ອນທີ່ທ່ານສາມາດຊອກຫາ PHP ລຸ້ນລ້າສຸດ (ແບບເຕັມຮູບແບບ) ສຳ ລັບຕິດຕັ້ງໃນການແຈກຈ່າຍ Fedora ແລະ Enterprise Linux.
# yum update && yum install epel-release # rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm ------ For RHEL 7 Only ------ # subscription-manager repos --enable=rhel-7-server-optional-rpms
# yum update && yum install epel-release # rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm ------ For RHEL 6 Only ------ # subscription-manager repos --enable=rhel-6-server-optional-rpms
# rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-29.rpm [On Fedora 29] # rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-28.rpm [On Fedora 28] # rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-27.rpm [On Fedora 27] # rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-26.rpm [On Fedora 26] # rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-25.rpm [On Fedora 25] # rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-24.rpm [On Fedora 24]
ຂັ້ນຕອນທີ 2: ການຕິດຕັ້ງ Nginx ແລະ MariaDB Repositories
The Nginx repository ແມ່ນມີຄວາມ ຈຳ ເປັນໃນການ ຈຳ ໜ່າຍ RHEL ແລະ CentOS ເທົ່ານັ້ນ. ສ້າງແຟ້ມເອກະສານທີ່ມີຊື່ວ່າ /etc/yum.repos.d/nginx.repo ແລະຕື່ມສາຍຕໍ່ໄປນີ້ໃສ່ມັນ.
[nginx] name=nginx repo baseurl=http://nginx.org/packages/rhel/$releasever/$basearch/ gpgcheck=0 enabled=1
[nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=0 enabled=1
ເພື່ອເປີດໃຊ້ឃ្លាំង MariaDB, ສ້າງແຟ້ມຊື່ວ່າ /etc/yum.repos.d/mariadb.repo ດ້ວຍເນື້ອໃນຕໍ່ໄປນີ້:
[mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.1/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1
ຂັ້ນຕອນທີ 4: ການຕິດຕັ້ງ Ngnix ແລະ MariaDB
Nginx (Engine X) ແມ່ນແຫຼ່ງເປີດ, ແຂງແຮງ, ມີນ້ ຳ ໜັກ ເບົາແລະມີປະສິດຕິພາບສູງ, ມີໂປແກຼມ Web server ແບບປ່ຽນແທນ, ແລະຍັງມີໂປແກຼມສົ່ງອີເມວ ສຳ ລັບ HTTP, SMTP, POP3 ແລະ IMAP. ສຳ ລັບລາຍລະອຽດເພີ່ມເຕີມ, ເຂົ້າເບິ່ງທີ່ http://wiki.nginx.org/Overview.
MariaDB ແມ່ນສ້ອມຂອງ MySQL ທີ່ມີຊື່ສຽງ, ໜຶ່ງ ໃນລະບົບການຄຸ້ມຄອງຖານຂໍ້ມູນທີ່ມີຊື່ສຽງທີ່ສຸດຂອງໂລກ (RDBMS). ມັນຖືກພັດທະນາໂດຍຊຸມຊົນທັງ ໝົດ ແລະດັ່ງນັ້ນມັນຈຶ່ງມີຈຸດປະສົງທີ່ຈະຍັງຄົງ FOSS ແລະເຂົ້າກັນໄດ້ກັບ GPL.
ການຕິດຕັ້ງ Ngnix ແລະ MariaDB, ດໍາເນີນການຄໍາສັ່ງຕໍ່ໄປນີ້.
----------- Installing on RHEL/CentOS 7/6 ----------- # yum --enablerepo=remi install nginx MariaDB-client MariaDB-server php php-common php-fpm ----------- Installing on Fedora ----------- # dnf --enablerepo=remi install nginx MariaDB-client MariaDB-server php php-common php-fpm
ຂັ້ນຕອນທີ 3: ການຕິດຕັ້ງ PHP ໂດຍໃຊ້ Remi Repository
PHP (Hypertext Preprocessor) ແມ່ນພາສາຂຽນແບບຂ້າງເຊີຟເວີແລະແບບເປີດແຫຼ່ງທີ່ ເໝາະ ສົມທີ່ສຸດ ສຳ ລັບການພັດທະນາເວບໄຊທ໌. ມັນສາມາດຖືກນໍາໃຊ້ເພື່ອຜະລິດຫນ້າເວັບແບບເຄື່ອນໄຫວສໍາລັບເວັບໄຊທ໌ແລະມັກພົບເລື້ອຍທີ່ສຸດໃນເຄື່ອງແມ່ຂ່າຍ * nix. ຂໍ້ດີຂໍ້ ໜຶ່ງ ຂອງ PHP ແມ່ນວ່າມັນສາມາດຂະຫຍາຍໄດ້ງ່າຍໂດຍຜ່ານການ ນຳ ໃຊ້ໂມດູນທີ່ຫລາກຫລາຍ.
ເພື່ອຕິດຕັ້ງ PHP, ທຳ ອິດທ່ານ ຈຳ ເປັນຕ້ອງເປີດໃຊ້ Remi repository ໂດຍການຕິດຕັ້ງ yum-utils
, ເຊິ່ງເປັນຊຸດຂອງໂປແກຼມທີ່ມີປະໂຫຍດໃນການຈັດການ yum repositories ແລະ package.
# yum install yum-utils
ເມື່ອຕິດຕັ້ງແລ້ວ, ທ່ານສາມາດໃຊ້ yum-config-manager ທີ່ສະ ໜອງ ໂດຍ yum-utils
ເພື່ອໃຫ້ສາມາດເກັບຮັກສາຫໍສະ ໝຸດ Remi ເປັນບ່ອນເກັບຄ່າເລີ່ມຕົ້ນ ສຳ ລັບຕິດຕັ້ງເວີຊັນ PHP ທີ່ແຕກຕ່າງກັນດັ່ງທີ່ສະແດງ.
ຍົກຕົວຢ່າງ, ເພື່ອຕິດຕັ້ງ PHP 7.x version, ໃຫ້ໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້.
------------- On CentOS & RHEL ------------- # yum-config-manager --enable remi-php70 && yum install php [Install PHP 7.0] # yum-config-manager --enable remi-php71 && yum install php [Install PHP 7.1] # yum-config-manager --enable remi-php72 && yum install php [Install PHP 7.2] # yum-config-manager --enable remi-php73 && yum install php [Install PHP 7.3] ------------- On Fedora ------------- # dnf --enablerepo=remi install php70 [Install PHP 7.0] # dnf --enablerepo=remi install php71 [Install PHP 7.1] # dnf --enablerepo=remi install php72 [Install PHP 7.2] # dnf --enablerepo=remi install php73 [Install PHP 7.3]
ຕໍ່ໄປ, ພວກເຮົາຈະຕິດຕັ້ງໂປແກຼມ PHP ຕໍ່ໄປນີ້ທັງ ໝົດ.
------ On RHEL/CentOS 7/6 ------ # yum --enablerepo=remi install php-mysqlnd php-pgsql php-fpm php-pecl-mongo php-pdo php-pecl-memcache php-pecl-memcached php-gd php-xml php-mbstring php-mcrypt php-pecl-apcu php-cli php-pear ------ On Fedora ------ # dnf --enablerepo=remi install php-mysqlnd php-pgsql php-fpm php-pecl-mongo php-pdo php-pecl-memcache php-pecl-memcached php-gd php-xml php-mbstring php-mcrypt php-pecl-apcu php-cli php-pear
ຂັ້ນຕອນທີ 6: ການຢຸດແລະປິດການບໍລິການ Apache
ໂດຍຄ່າເລີ່ມຕົ້ນ, Apache ແລະ Nginx ຟັງຢູ່ໃນພອດດຽວກັນ (TCP 80). ດ້ວຍເຫດຜົນດັ່ງກ່າວ, ຖ້າ Apache ຖືກຕິດຕັ້ງຢູ່ໃນ server ຂອງທ່ານ, ທ່ານ ຈຳ ເປັນຕ້ອງຢຸດແລະປິດ/ປິດ ໜ້າ ກາກ (ສະບັບທີ່ແຂງແຮງກວ່າເກົ່າທີ່ເຊື່ອມຕໍ່ບໍລິການກັບ/dev/null) ເພື່ອ ນຳ ໃຊ້ Nginx, ຫຼືທ່ານສາມາດເອົາມັນອອກໄດ້ຖ້າ ທ່ານບໍ່ໄດ້ວາງແຜນກ່ຽວກັບການ ນຳ ໃຊ້ອີກຕໍ່ໄປ.
# systemctl stop httpd # systemctl disable httpd or # systemctl mask httpd
ຂັ້ນຕອນທີ 7: ເລີ່ມຕົ້ນ/ຢຸດເຊົາການ Nginx, MariaDB ແລະ PHP-FPM
----------- Enable Nginx, MariaDB and PHP-FPM on Boot ----------- # systemctl enable nginx # systemctl enable mariadb # systemctl enable php-fpm ----------- Start Nginx, MariaDB and PHP-FPM ----------- # systemctl start nginx # systemctl start mariadb # systemctl start php-fpm
ຂັ້ນຕອນທີ 8: ການຕັ້ງຄ່າ Nginx ແລະ PHP-FPM
ຕອນນີ້ຂໍໃຫ້ພວກເຮົາສ້າງໂຄງສ້າງໄດເລກະທໍລີ ສຳ ລັບເວັບໄຊທ໌ຂອງທ່ານ (ໂຮດຕິ້ງເສີຍໆຫລືບລັອກເຊີເວີ້ທີ່ມັນຖືກເອີ້ນໃນ Nginx) ພາຍໃຕ້/srv/www /. ໃນຕົວຢ່າງນີ້ພວກເຮົາຈະໃຊ້ linux-console.net
, ແຕ່ຮູ້ສຶກວ່າບໍ່ເສຍຄ່າທີ່ຈະເລືອກໂດເມນແລະໄດເລກະທໍລີຫຼັກຖ້າທ່ານຕ້ອງການ.
# mkdir -p /srv/www/tecmint/public_html # mkdir /srv/www/tecmint/logs # chown -R nginx:nginx /srv/www/tecmint
ຂັ້ນຕອນທີ 9: ການຕັ້ງຄ່າລາຍຊື່ແຟ້ມໂຮດຕິ້ງ Nginx
ດັ່ງທີ່ທ່ານຮູ້, ຄວາມສາມາດໃນການເຮັດວຽກຫລາຍໆເວັບໄຊທ໌ຈາກເຄື່ອງດຽວກັນແມ່ນ ໜຶ່ງ ໃນຄຸນລັກສະນະທີ່ໂດດເດັ່ນຂອງເຄື່ອງແມ່ຂ່າຍເວັບທີ່ ສຳ ຄັນ. ຕອນນີ້ຂໍໃຫ້ພວກເຮົາ ດຳ ເນີນການສ້າງລາຍການຕ່າງໆເພື່ອເກັບຂໍ້ມູນ server ຂອງພວກເຮົາ (ທີ່ຮູ້ກັນໃນນາມ virtual hosts ໃນ Apache) ພາຍໃຕ້/etc/nginx.
# mkdir /etc/nginx/sites-available # mkdir /etc/nginx/sites-enabled
ລະຫັດເສັ້ນຕໍ່ໄປນີ້, ເຊິ່ງຕ້ອງໄດ້ໃສ່ກ່ອນທີ່ຈະປິດ http block ໃນ /etc/nginx/nginx.conf, ຈະຮັບປະກັນວ່າໄຟລ໌ການຕັ້ງຄ່າຕ່າງໆພາຍໃນໄດເລກະທໍລີທີ່ເປີດໃຊ້/etc/nginx/sites ຕ່າງໆຈະຖືກ ຄຳ ນຶງເຖິງເມື່ອ Nginx ກຳ ລັງແລ່ນ. :
## Load virtual host conf files. ## include /etc/nginx/sites-enabled/*;
ເພື່ອສ້າງບລັອກເຊີຟເວີ ສຳ ລັບ linux-console.net
, ຕື່ມແຖວຂອງລະຫັດຕໍ່ໄປນີ້ໃສ່/etc/nginx/sites-available/tecmint (ເອກະສານນີ້ຈະຖືກສ້າງຂື້ນເມື່ອທ່ານເຂົ້າເສັ້ນທາງເຕັມເພື່ອເລີ່ມຕົ້ນທີ່ທ່ານຕ້ອງການ ບັນນາທິການຕົວ ໜັງ ສື). ນີ້ແມ່ນເອກະສານ config config ຂອງ virtual host ພື້ນຖານ.
server { listen 80 default; server_name tecmint; access_log /srv/www/tecmint/logs/access.log; error_log /srv/www/tecmint/logs/error.log; root /srv/www/tecmint/public_html; location ~* \.php$ { fastcgi_index index.php; fastcgi_pass 127.0.0.1:9000; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; } }
ຂັ້ນຕອນຂອງການ“ ເປີດໃຊ້ງານ” virtual host ປະກອບມີການສ້າງສັນຍາລັກເຊື່ອມໂຍງຈາກ ຄຳ ນິຍາມຂອງ tecmint
host virtual ກັບ/etc/nginx/sites-enable.
# ln -s /etc/nginx/sites-available/tecmint /etc/nginx/sites-enabled/tecmint
ເພື່ອປະຕິບັດຕົວຈິງການປ່ຽນແປງທີ່ພວກເຮົາໄດ້ເຮັດ, ດຽວນີ້ພວກເຮົາ ຈຳ ເປັນຕ້ອງເລີ່ມ Nginx. ບາງຄັ້ງມັນເປັນປະໂຫຍດທີ່ຈະກວດເບິ່ງເອກະສານການຕັ້ງຄ່າ ສຳ ລັບຂໍ້ຜິດພາດຂອງ syntax ກ່ອນທີ່ຈະ ດຳ ເນີນການ:
# nginx -t # systemctl restart nginx # systemctl status nginx
ເພື່ອເຂົ້າຫາເຈົ້າພາບເສມືນທີ່ຖືກສ້າງຂື້ນ ໃໝ່ ຂອງທ່ານ, ທ່ານ ຈຳ ເປັນຕ້ອງເພີ່ມສາຍຕໍ່ໄປນີ້ໃສ່/etc/hosts ເປັນວິທີການພື້ນຖານຂອງການແກ້ໄຂຊື່ໂດເມນ.
192.168.0.18 linux-console.net linux-console.net
ຂັ້ນຕອນທີ 10: ການທົດສອບ Nginx, MySQL, PHP ແລະ PHP-FPM
ຕິດຢູ່ກັບແບບເກົ່າແກ່ຂອງການທົດສອບ PHP. ສ້າງແຟ້ມເອກະສານທີ່ມີຊື່ວ່າ test.php
ພາຍໃຕ້/srv/www/tecmint/public_html/ແລະເພີ່ມສາຍໂຄດດັ່ງຕໍ່ໄປນີ້ໃສ່ມັນ.
ໜ້າ ທີ່ phpinfo()
ສະແດງຂໍ້ມູນຫຼາຍຢ່າງກ່ຽວກັບການຕິດຕັ້ງ PHP ໃນປະຈຸບັນ:
<?php phpinfo(); ?>
ຕອນນີ້ຊີ້ຕົວທ່ອງເວັບຂອງທ່ານໄປທີ່ http://tecmint/test.php
ແລະກວດສອບການມີຂອງໂມດູນທີ່ຕິດຕັ້ງແລະຊອບແວເພີ່ມເຕີມ:
ຊົມເຊີຍ! ດຽວນີ້ທ່ານໄດ້ຕິດຕັ້ງ LEMP stack ແລ້ວ. ຖ້າບາງສິ່ງບາງຢ່າງບໍ່ໄດ້ຕາມທີ່ຄາດໄວ້, ກະລຸນາຕິດຕໍ່ຫາພວກເຮົາໂດຍໃຊ້ແບບຟອມລຸ່ມນີ້. ຄຳ ຖາມແລະ ຄຳ ແນະ ນຳ ກໍ່ຖືກຕ້ອນຮັບ.