האם ל- nginx יש php
כיצד להגדיר PHP ב- NGINX עם FastCGI (PHP-FPM) דוגמה
1. הגדרת תצורה: שגיאה:. XML2-CONFIG לא נמצא אנא בדוק את ההתקנה שלך LIBXML2.
האם ל- nginx יש php
בנייה ממקור אינה קלה אם משהו קצת שונה, והיה לי קשה עם כמה אפשרויות ספריות ותצורה. הסתובבתי באינטרנט עד שמצאתי את האתר הזה שתורגם מהסינית. לאף אחד אחר לא היה הפיתרון. לא יכולתי לגרום ל- PHP FPM להתחיל עד ששניתי את הספרייה (פריט 2.שגיאה: לא ניתן לגלובליזציה). היו לי סוגיות אחרות הרשומות אבל הצלחתי לפתור אותם. אנא אל תמחק זאת, זה מידע שימושי מאוד.
האתר המקורי (זה בסינית, לא באתר שלי, אבל אני רוצה לתת קרדיט):
(יש שם עוד קצת, אתה יכול ללכת לאתר)
1. הגדרת תצורה: שגיאה:. XML2-CONFIG לא נמצא אנא בדוק את ההתקנה שלך LIBXML2.
APT-Get התקנה libxml2-dev
2.אזהרה: הצהרת PEAR_INSTALLER :: הורדה () צריכה להיות תואמת ל- & pear_downloader :: הורדה ($ params) ב phar: /// root/php-7.0.0ALPHA1/PEAR/Install-Pear-Nozlib.PHAR /PEAR /מתקין.PHP בקו 43
אזהרה: הצהרת PEAR_PACKAGEFILE_PARSER_V2 :: PARSE () צריכה להיות תואמת ל- PEAR_XMLPARSER :: PARSE ($ DATA) ב- PHAR: /// ROOT/PHP-7.0.0ALPHA1/PEAR/Install-Pear-Nozlib.PHAR/ PEAR/ PackageFile/ PARSER/ V2.PHP בשורה 113
[אגס] Archive_tar – כבר מותקן: 1.3.13
[אגס] console_getopt – כבר מותקן: 1.3.1
[אגס] מבנים_גרף- כבר הותקן: 1.0.4
אזהרה: הצהרת PEAR_TASK_REPCACE :: init () צריכה להיות תואמת ל- PEAR_TASK_COMMON :: init ($ xml, $ fileattributes, $ lastversion) ב- phar: /// root/php-7.0.0ALPHA1/PEAR/Install-Pear-Nozlib. PHAR / PEAR / TASK / החלף.PHP בשורה 31
[אגס] XML_UTIL – כבר מותקן: 1.2.3
אזהרה: הצהרת PEAR_TASK_WINDOWSEOL :: init () צריכה להיות תואמת ל- pear_task_common :: init ($ xml, $ fileattributes, $ lastversion) ב- phar: /// root/php-7.0.0ALPHA1/PEAR/Install-Pear-Nozlib. PHAR / PEAR / TASK / WINDOWSEOL.PHP בשורה 76
אזהרה: הצהרת Pear_task_unixeol :: init () צריכה להיות תואמת ל- pear_task_common :: init ($ xml, $ fileattributes, $ lastversion) ב- phar: /// root/php-7.0.0ALPHA1/PEAR/Install-Pear-Nozlib. PHAR / PEAR / TASK / UNIXEOL.PHP בשורה 76
[אגס] אגס – כבר הותקן: 1.9.5
1.שגיאה: נכשל בפתיחת קובץ התצורה ‘/usr/מקומי/etc/php-fpm.Conf ‘: אין קובץ או ספרייה כאלה (2)
שגיאה: נכשל טוען קובץ תצורה ‘/usr/מקומי/etc/php-fpm.conf ‘
שגיאה: אתחול FPM נכשל
PHP-FPM.CONP העתק קבצים מקובץ המקור למיקום זה.
CP /ROOT /PHP-7.0.0alpha1/sapi/fpm/php-fpm.conf/usr/מקומי/etc/php-fpm.Conf
2.שגיאה: לא ניתן לגלובליזציה ‘/usr/local/none/etc/php-fpm.d/*.conf ‘(ret = 2) מ-/usr/local/etc/php-fpm.Conf בשורה 125.
שגיאה: נכשל טוען קובץ תצורה ‘/usr/מקומי/etc/php-fpm.conf ‘
שגיאה: אתחול FPM נכשל
ערוך/usr/מקומי/etc/php-fpm.מסמך CONF שהוצג * .חלק, שינוי לנתיב הנכון כולל = / usr / מקומי / etc / php-fpm.d / *. Conf
אם אין/usr/מקומי/etc/php-fpm.D Directory, צור את הספרייה.
3.אזהרה: שום דבר לא תואם את תבנית הכלול ‘/usr/מקומי/etc/php-fpm.d/*.conf ‘מ-/usr/local/etc/php-fpm.Conf בשורה 125.
שְׁגִיאָה:. אין לציין קטע בריכה אחד לפחות בקובץ Config בקובץ config
שגיאה: נכשלה לאחר עיבוד התצורה
שגיאה: אתחול FPM נכשל
CP www.Conf.ברירת מחדל www.Conf
4.שגיאה: [בריכה www] לא יכולה להשיג את GID לקבוצה ‘אף אחד’
שגיאה: אתחול FPM נכשל
Www.CONF פותח קבצים, משתמשים ומשתמשים בקבוצה להגדרות ברירת המחדל של NGINX, בדרך כלל ברירת המחדל היא WWW-DATA.
לפני שנה
כדי למקסם את ביצועי השרת במהירות הגבוהה ביותר, עם המשאבים המעטים ביותר, החלטתי להרכיב PHP 8 ידנית ממערכת הפעלה מינימלית של לינוקס/יוניקס (Distro של לינוקס שלי היא חבילות מבוססות סל”ד)
המערכת שלי מופעלת בהצלחה על ידי Php 8.0.9 – עם Opcache/JIT מופעל וכמה מודולי סיומת PHP אחרים. להלן מספר חוויות שעשויות לחסוך לך מספר שעות של מחקר.
1. לפני שלב (3) – הגדר ובניית PHP – כדי להבטיח כי לא מתרחשות שגיאות, תוכל להתייחס לספריה המוקדמת שלי.
sudo dnf התקן \
GCC GCC-C ++ הפוך CMAKE AUTOCONFIG \
zlib zlib-devel pcre pcre-devel \
libxml2-devel libxslt-devel \
BZIP2-DEVEL CURL-DEVEL LIBZIP-DEVEL \
sqlite-devel \
Systemd-Devel \
openssl-devel \
libffi-devel \
libpng libpng-devel libwebp libwebp-devel libjpeg libjpeg-devel libxpm libxpm-devel \
freetype-devel \
GMP-DEVEL \
libldb-devel \
libc-client libc-client-devel \
OpenLDAP OPENLDAP-DEVEL \
oniguruma oniguruma-devel \
Net-SNMP-Devel readline-devel unixodbc-devel \
UW-IMAP UW-IMAP-DEVEL UW-IMAP-STATIC UW-IMAP-UTILS \
libicu-devel \
Enchant2 Enchant2-Devel \
GD GD-Devel \
Libsodium Libsodium-Devel \
libtidy libtidy-devel
אינך רשאי לקבל שגיאה בעת ההנפקה ./הגדר, עשה && הפוך התקנה. אפילו כשאתה בונה ידנית את חבילת ההרחבה שלך ב- PHP בהמשך.
2. בשלב 5 – לפני שינוי PHP.INI – אתה יכול לבדוק שוב אם ה- PHP הנוכחי קורא איזה PHP.קובץ INI על ידי פקודה זו
php -ini | GREP PHP.ini
# התוצאה שלי. זה שונה מהמדריך.
קובץ תצורה (PHP.ini) נתיב =>/usr/local/lib
קובץ תצורה טעון =>/usr/local/lib/php.ini
לפני 4 שנים
כשאני מפעיל את הפקודה הבאה כדי להפעיל את ה- PHP-FPM:
/usr/מקומי/bin/php-fpm
קיבלתי את מידע השגיאה הבא:
לא ניתן לגלובליזציה ‘/usr/local/none/etc/php-fpm.d/*.conf ‘(ret = 2) מ-/usr/local/etc/php-fpm.Conf בשורה 143.
כדי לתקן שגיאה זו, עשה:
שנה את ה- ST
כיצד להגדיר PHP ב- NGINX עם FastCGI (PHP-FPM) דוגמה
1. הגדרת תצורה: שגיאה:. XML2-CONFIG לא נמצא אנא בדוק את ההתקנה שלך LIBXML2.
האם ל- nginx יש php
בנייה ממקור אינה קלה אם משהו קצת שונה, והיה לי קשה עם כמה אפשרויות ספריות ותצורה. הסתובבתי באינטרנט עד שמצאתי את האתר הזה שתורגם מהסינית. לאף אחד אחר לא היה הפיתרון. לא יכולתי לגרום ל- PHP FPM להתחיל עד ששניתי את הספרייה (פריט 2.שגיאה: לא ניתן לגלובליזציה). היו לי סוגיות אחרות הרשומות אבל הצלחתי לפתור אותם. אנא אל תמחק זאת, זה מידע שימושי מאוד.
האתר המקורי (זה בסינית, לא באתר שלי, אבל אני רוצה לתת קרדיט):
(יש שם עוד קצת, אתה יכול לקבל את האתר)
1. הגדרת תצורה: שגיאה:. XML2-CONFIG לא נמצא אנא בדוק את ההתקנה שלך LIBXML2.
APT-Get התקנה libxml2-dev
2.אזהרה: הצהרת PEAR_INSTALLER :: הורדה () צריכה להיות תואמת ל- & pear_downloader :: הורדה ($ params) ב phar: /// root/php-7.0.0ALPHA1/PEAR/Install-Pear-Nozlib.PHAR /PEAR /מתקין.PHP בקו 43
אזהרה: הצהרת PEAR_PACKAGEFILE_PARSER_V2 :: PARSE () צריכה להיות תואמת ל- PEAR_XMLPARSER :: PARSE ($ DATA) ב- PHAR: /// ROOT/PHP-7.0.0ALPHA1/PEAR/Install-Pear-Nozlib.PHAR/ PEAR/ PackageFile/ PARSER/ V2.PHP בשורה 113
[אגס] Archive_tar – כבר מותקן: 1.3.13
[אגס] console_getopt – כבר מותקן: 1.3.1
[אגס] מבנים_גרף- כבר הותקן: 1.0.4
אזהרה: הצהרת PEAR_TASK_REPCACE :: init () צריכה להיות תואמת ל- PEAR_TASK_COMMON :: init ($ xml, $ fileattributes, $ lastversion) ב- phar: /// root/php-7.0.0ALPHA1/PEAR/Install-Pear-Nozlib. PHAR / PEAR / TASK / החלף.PHP בשורה 31
[אגס] XML_UTIL – כבר מותקן: 1.2.3
אזהרה: הצהרת PEAR_TASK_WINDOWSEOL :: init () צריכה להיות תואמת ל- pear_task_common :: init ($ xml, $ fileattributes, $ lastversion) ב- phar: /// root/php-7.0.0ALPHA1/PEAR/Install-Pear-Nozlib. PHAR / PEAR / TASK / WINDOWSEOL.PHP בשורה 76
אזהרה: הצהרת Pear_task_unixeol :: init () צריכה להיות תואמת ל- pear_task_common :: init ($ xml, $ fileattributes, $ lastversion) ב- phar: /// root/php-7.0.0ALPHA1/PEAR/Install-Pear-Nozlib. PHAR / PEAR / TASK / UNIXEOL.PHP בשורה 76
[אגס] אגס – כבר הותקן: 1.9.5
1.שגיאה: נכשל בפתיחת קובץ התצורה ‘/usr/מקומי/etc/php-fpm.Conf ‘: אין קובץ או ספרייה כאלה (2)
שגיאה: נכשל טוען קובץ תצורה ‘/usr/מקומי/etc/php-fpm.conf ‘
שגיאה: אתחול FPM נכשל
PHP-FPM.CONP העתק קבצים מקובץ המקור למיקום זה.
CP /ROOT /PHP-7.0.0alpha1/sapi/fpm/php-fpm.conf/usr/מקומי/etc/php-fpm.Conf
2.שגיאה: לא ניתן לגלובליזציה ‘/usr/local/none/etc/php-fpm.d/*.conf ‘(ret = 2) מ-/usr/local/etc/php-fpm.Conf בשורה 125.
שגיאה: נכשל טוען קובץ תצורה ‘/usr/מקומי/etc/php-fpm.conf ‘
שגיאה: אתחול FPM נכשל
ערוך/usr/מקומי/etc/php-fpm.מסמך CONF שהוצג * .חלק, שינוי לנתיב הנכון כולל = / usr / מקומי / etc / php-fpm.d / *. Conf
אם אין/usr/מקומי/etc/php-fpm.D Directory, צור את הספרייה.
3.אזהרה: שום דבר לא תואם את תבנית הכלול ‘/usr/מקומי/etc/php-fpm.d/*.conf ‘מ-/usr/local/etc/php-fpm.Conf בשורה 125.
שְׁגִיאָה:. אין לציין קטע בריכה אחד לפחות בקובץ Config בקובץ config
שגיאה: פרסום נכשל עבד את התצורה
שגיאה: אתחול FPM נכשל
CP www.Conf.ברירת מחדל www.Conf
4.שגיאה: [בריכה www] לא יכולה להשיג את GID לקבוצה ‘אף אחד’
שגיאה: אתחול FPM נכשל
Www.CONF פותח קבצים, משתמשים ומשתמשים בקבוצה להגדרות ברירת המחדל של NGINX, בדרך כלל ברירת המחדל היא WWW-DATA.
לפני שנה
כדי למקסם את ביצועי השרת במהירות הגבוהה ביותר, עם מעט המשאבים, החלטתי להרכיב PHP 8 ידנית ממערכת הפעלה מינימלית של לינוקס/יוניקס (Distro של לינוקס שלי היא חבילות מבוססות סל”ד)
המערכת שלי מופעלת בהצלחה על ידי Php 8.0.9 – עם Opcache/JIT מופעל & מספר מודול סיומת PHP אחר. להלן מספר ניסיון שעשוי לחסוך לך מספר שעות של מחקר.
1. לפני שלב (3) – הגדר ובניית PHP – כדי להבטיח שלא מתרחשות שגיאות, תוכל להתייחס לספריית התנאים המוקדמים שלי.
sudo dnf התקן \
GCC GCC-C ++ הפוך CMAKE AUTOCONFIG \
zlib zlib-devel pcre pcre-devel \
libxml2-devel libxslt-devel \
BZIP2-DEVEL CURL-DEVEL LIBZIP-DEVEL \
sqlite-devel \
Systemd-Devel \
openssl-devel \
libffi-devel \
libpng libpng-devel libwebp libwebp-devel libjpeg libjpeg-devel libxpm libxpm-devel \
freetype-devel \
GMP-DEVEL \
libldb-devel \
libc-client libc-client-devel \
OpenLDAP OPENLDAP-DEVEL \
oniguruma oniguruma-devel \
Net-SNMP-Devel readline-devel unixodbc-devel \
UW-IMAP UW-IMAP-DEVEL UW-IMAP-STATIC UW-IMAP-UTILS \
libicu-devel \
Enchant2 Enchant2-Devel \
GD GD-Devel \
Libsodium Libsodium-Devel \
libtidy libtidy-devel
אינך רשאי לקבל שגיאה בעת ההנפקה ./הגדר, עשה && הפוך התקנה. אפילו כשאתה בונה ידנית את חבילת ההרחבה שלך ב- PHP בהמשך.
2. בשלב 5 – לפני שינוי PHP.INI – אתה יכול לבדוק שוב אם ה- PHP הנוכחי קורא איזה PHP.קובץ INI על ידי פקודה זו
php -ini | GREP PHP.ini
# התוצאה שלי. זה שונה מהמדריך.
קובץ תצורה (PHP.ini) נתיב =>/usr/local/lib
קובץ תצורה טעון =>/usr/local/lib/php.ini
לפני 4 שנים
כשאני מפעיל את הפקודה הבאה כדי להפעיל את ה- PHP-FPM:
/usr/מקומי/bin/php-fpm
קיבלתי את מידע השגיאה הבא:
לא ניתן לגלובליזציה ‘/usr/local/none/etc/php-fpm.d/*.conf ‘(ret = 2) מ-/usr/local/etc/php-fpm.Conf בשורה 143.
כדי לתקן שגיאה זו, עשה:
שנה את המחרוזת “כולל = אין/etc/php-fpm.d/*.conf “to” לכלול = etc/php-fpm.d/*.conf “בקובץ”/usr/local/etc/php-fpm.CONF “עם עורך טקסט.
לאחר מכן, אני מנסה להתחיל שוב את ה- PHP-FPM וקיבלתי שוב מידע על שגיאות:
שום דבר לא תואם את תבנית הכלול ‘/usr/מקומי/etc/php-fpm.d/*.conf ‘מ-/usr/local/etc/php-fpm.Conf בשורה 143.
כדי לתקן שגיאה זו, עשה:
CP/USR/מקומי/etc/php-fpm.d/www.Conf.ברירת מחדל/USR/מקומי/etc/php-fpm.d/www.Conf
לפני 4 שנים
CP PHP/PHP.ini-soveloctment php/lib/php.ini
CP PHP/ETC/PHP-FPM.Conf.ברירת מחדל PHP/ETC/PHP-FPM.Conf
CP PHP/ETC/PHP-FPM.d/www.Conf.ברירת מחדל PHP/ETC/PHP-FPM.d/www.Conf
לפני 3 שנים
במערכת לינוקס, אם ברצונך להוסיף שירות PHP-FPM לשירות המערכת; קל לעשות זאת, מכיוון ש- PHP מציע את סקריפט הקליפה הקשורה:
לאחר ביצוע והתקנה; הזן את חבילת קוד המקור SAPI/FPM/init.ד.PHP-FPM; הקלד את הקוד במערכת לינוקס.
cp sapi/fpm/init.ד.php-fpm /etc /init.d/php-fpm
אז אתה יכול להשתמש ב”- PHP-FPM
לפני 7 שנים
אם אתה מקבל שגיאת “קובץ לא נמצא”, הוסף הוראות “root root_dir_location.ה. “מיקום ~* \.php $ < >“, כאשר root_dir_location הוא ספריית שורש כמו”/usr/share/nginx/html ” .
לפני 7 שנים
בשלב 3, לאחר הפקודה “sudo make התקנה”
אם יש בעיה עם אגס.PHP.נטו (https). צריך לשנות קו זה (מ- HTTPS ל- HTTP) ב- MakeFile
Pear_installer_url = http: // אגס.PHP.net/התקנה-pear-nozlib.PHAR
לפני 11 חודשים
מאמץ נהדר להדרכה זו, תודה טון, הנה ההערות שלי אם עשוי לעזור לכל אחד, בהתחשב בהתקנת ברירת מחדל על מיכל WSL2
הערה: מלחין נוסף למסגרת Laravel.
אלה אסור להיות עותק ולהדביק כמו שהוא, צריכים להיות סלקטיביים מכיוון שיש ביאורים לצד כמה פקודות,
גם הערתי # כמה מהברירות המחדל שנכתבו על ידי העורך המקורי בגלל אי התאמה לסביבתי הנוכחית.
SHA256SUM PHP-X.איקס.איקס.זֶפֶת.GZ => E847745FD66FC8C57FAC993A609FEFCDED93FDDCCD225F0620A26BB5AE5753C3
TAR ZXF PHP-X.איקס.איקס
sudo apt התקנה לבנות חיונית
sudo apt install -y מלחין nginx pkgconf libxml2-dev libsqlite3-dev zlib1g-dev
CD PHP-X.איקס.איקס
./configure-enable-fpm-with-mysqli make sudo make test sudo make התקנה sudo cp php.ini-pocument/usr/local/lib/php.ini
sudo cp/usr/local/etc/php-fpm.d/www.Conf.ברירת מחדל/USR/מקומי/etc/php-fpm.d/www.Conf
sudo cp sapi/fpm/php-fpm/usr/local/bin
sudo vim/usr/local/php/php.ini sudo vim/usr/local/etc/php-fpm.d/www.conf sudo vim sapi/fpm/php-fpm.conf sudo cp sapi/fpm/php-fpm.conf/usr/מקומי/וכו ‘
/usr/מקומי/bin/php -v sudo/usr/local/bin/php-fpm sudo vim/etc/nginx/sites-vail/default
מיקום / #ROOT HTML;
#אינדקס אינדקס.מדד PHP.מדד HTML.htm;
>
מיקום ~* \.מדד Php $ #FastCGI_INDEX.PHP;
fastcgi_pass 127.0.0.1: 9000;
כלול fastcgi_params;
fastcgi_param script_filename $ document_root $ fastcgi_script_name;
fastcgi_param script_name $ fastcgi_script_name;
>
*הפעל מחדש את nginx (שורש/var/www/html) אם נתיב השורש אינו קיים, ברירת המחדל היא:/usr/share/nginx/html
sudo nginx -t sudo service nginx טוען מחדש
Sudo Service nginx עצור
SUDO SERVICE NGINX START
PHP -FPM צריך להיות בשירות, או להרוג תהליך באופן ידני PS -aux | GREP PHP-FPM; לַהֲרוֹג
האם ל- nginx יש php
- 4 כישורי אדריכל ארגוניים שלעולם אסור להתעלם ממנה בזמן שיש בהחלט המון שעובר להיות אדריכל ארגוני, אילו כישורים הם ‘חייבים’ המוחלטת להישאר עליה.
- Falcor vs. GraphQL: ההבדלים החשובים בעוד ששניהם מייצגים למעשה שתי גישות למטרה קצה דומה, ישנם כמה הבדלים עיקריים בין GraphQL לפלקור .
- מבט מהיר על פחמן שפת תכנות הפחמן הוא שפת תכנות ניסיונית הבנויה לעמוד על כתפי C ++ – אך עם השקפה חדשה על בטיחות הזיכרון.
- גוגל מקניט את התרחבות ה- AI הגנרית בתוך תכונות ה- AI החדשות של גוגל בענן של גוגל, כולל עוזר קידוד, נקשרו מקרוב ל- GCP בהדגמות תצוגה מקדימה השבוע, ואילו .
- האם ChatGPT טוב יותר לקידוד מאשר פלטפורמות עם קוד נמוך? ChatGpt יכול לכתוב קוד, אך הוא לא יכול לשלב קוד או לייצר רעיונות לעיצוב. כמו כן, היא מציבה סיכוני אבטחה ורישוי. לעת עתה.
- כמה אסטרטגיות פשוטות להפחתת יתירות בדיקות תוכנה בעוד שסיקור מבחן מקיף הוא חובה, צוותי תוכנה חייבים לעשות מאמצים מודעים למנוע מהסוויטות להיות .
- גוגל מכפילה את ה- AI הגנריטיבי מ- Google I/O 2023, הערות של קבוצת האסטרטגיה הארגונית של פול נאשוואטי על שיפורי AI לחיפוש של גוגל, תמונות, מפות ו .
- מומחי אבטחה חולקים ביקורת ענן שיטות עבודה מומלצות ביקורת ענן מאפשרת לארגונים להעריך את ביצועי ספק הענן. מומחי ביקורת שינסה קמבריס ומייקל רטמו שיחה .
- פריסת אפליקציה ב- Google Cloud Run עם TerraForm באמצעות TerraForm כדי לפרוס יישום ל- Google Cloud Run Run מאפשרת תהליך פריסה מדרגית ויכול להפחית את התצורה .
- CrowdStrike מזהיר את העלייה בהתקפות VMware ESXI Hypervisor כאשר אימוץ ארגוני של טכנולוגיית הווירטואליזציה עולה, ClusdStrike צפה בעלייה בהתקפות Ransomware על שרתים .
- כנופיית הכופש של BL00DY מכוונת לבתי ספר באמצעות פגם נייר חבורת BL00DY Ransomware מכוונת לבתי ספר באמצעות פגם קריטי בביצוע קוד מרחוק שנמצא במקרים שלא תפסו של .
- מומחים שואלים את $ 1 של סן ברנרדינו.תשלום כופר 1M בעוד ששירותי בטיחות ציבורית לא נפגעו במתקפת Ransomware על מחלקת השריף של מחוז סן ברנרדינו, The .
- מגדל בקרת AWS נועד לפשט ניהול רב חשבונות ארגונים רבים נאבקים לנהל את אוסף חשבונות ה- AWS העצומים שלהם, אך מגדל השליטה יכול לעזור. השירות אוטומטי .
- לפרק את מודל התמחור של אמזון EKS ישנם מספר משתנים חשובים במודל התמחור של אמזון EKS. לחפור במספרים כדי להבטיח שתפרוס את השירות .
- השווה את EKS לעומת. Kubernetes מנוהלים בעצמם ב- AWS משתמשי AWS מתמודדים עם בחירה בעת פריסת Kubernetes: הפעל את עצמם ב- EC2 או נתן לאמזון לעשות את ההרמה הכבדה עם EKS. לִרְאוֹת .
כיצד להתקין את Linux, Nginx, MySQL, PHP (Lemp Stack) באובונטו 16.04
ערימת התוכנה של LEMP היא קבוצת תוכנה שניתן להשתמש בה כדי לשרת דפי אינטרנט דינמיים ויישומי אינטרנט. זהו ראשי תיבות המתארים מערכת הפעלה לינוקס, עם שרת אינטרנט של NGINX. נתוני ה- Backend מאוחסנים במסד הנתונים של MySQL והעיבוד הדינמי מטופל על ידי PHP.
במדריך זה נדגים כיצד להתקין ערימת LEMP באובונטו 16.שרת 04. מערכת ההפעלה של אובונטו מטפלת בדרישה הראשונה. נתאר כיצד להעלות את שאר הרכיבים.
תנאים מוקדמים
לפני שתשלים הדרכה זו, עליך לקבל חשבון משתמש רגיל ולא שורש בשרת שלך עם הרשאות sudo. אתה יכול ללמוד כיצד להגדיר חשבון מסוג זה על ידי השלמת Ubuntu 16 שלנו.04 הגדרת שרת ראשונית.
ברגע שיש לך את המשתמש הזמין שלך, היכנס לשרת שלך עם שם המשתמש הזה. עכשיו אתה מוכן להתחיל את הצעדים המפורטים במדריך זה.
שלב 1: התקן את שרת האינטרנט של NGINX
על מנת להציג דפי אינטרנט למבקרי האתר שלנו, אנו הולכים להעסיק את NGINX, שרת אינטרנט מודרני ויעיל.
כל התוכנה בה אנו נשתמש בהליך זה תגיע ישירות מאובונטו’מאגרי חבילות ברירת המחדל. המשמעות היא שנוכל להשתמש בחבילת ניהול החבילות APT כדי להשלים את ההתקנה.
מכיוון שזו הפעם הראשונה שלנו באמצעות APT לפגישה זו, עלינו להתחיל על ידי עדכון אינדקס החבילות המקומי שלנו. לאחר מכן נוכל להתקין את השרת:
באובונטו 16.04, NGINX מוגדר להתחיל לפעול עם ההתקנה.
אם יש לך את חומת האש של UFW, כמפורט במדריך ההתקנה הראשוני שלנו, תצטרך לאפשר חיבורים ל- nginx. Nginx רושם את עצמו עם UFW לאחר ההתקנה, כך שהנוהל די ישר קדימה.
מומלץ לאפשר את הפרופיל המגביל ביותר שעדיין יאפשר את התנועה שתרצה. מאז שאנחנו מקלטים’T מוגדר SSL לשרת שלנו עדיין, במדריך זה, נצטרך רק לאפשר תנועה ביציאה 80.
אתה יכול לאפשר זאת על ידי הקלדה:
אתה יכול לאמת את השינוי על ידי הקלדה:
אתה אמור לראות תנועת HTTP המותרת בפלט המוצג:
תְפוּקָהסטטוס: פעיל לפעולה מ- ------- ---- openssh אפשר בכל מקום nginx http אפשר בכל מקום OpenSsh (v6) אפשר בכל מקום (V6) nginx http (v6) מאפשר בכל מקום (v6)
עם הוספת כלל חומת האש החדש, אתה יכול לבדוק אם השרת פועל על ידי גישה לשרת שלך’שם תחום או כתובת IP ציבורית בדפדפן האינטרנט שלך.
אם אין לך שם דומיין המופנה לשרת שלך ואינך מכיר את השרת שלך’כתובת IP ציבורית, אתה יכול למצוא אותה על ידי הקלדת אחת מהפעולות הבאות בטרמינל שלך:
זה ידפיס כמה כתובות IP. אתה יכול לנסות כל אחד מהם בתורו בדפדפן האינטרנט שלך.
כחלופה, אתה יכול לבדוק איזו כתובת IP נגישה כפי שנצפתה ממקומות אחרים באינטרנט:
הקלד אחת מהכתובות שאתה מקבל בדפדפן האינטרנט שלך. זה אמור לקחת אותך ל- nginx’דף נחיתה ברירת מחדל:
http: //server_domain_or_ip
אם אתה רואה את העמוד לעיל, התקנת בהצלחה את nginx.
שלב 2: התקן את MySQL לניהול נתוני האתר
כעת, כשיש לנו שרת אינטרנט, עלינו להתקין את MySQL, מערכת ניהול מסדי נתונים, כדי לאחסן ולנהל את הנתונים עבור האתר שלנו.
אתה יכול להתקין זאת בקלות על ידי הקלדה:
תתבקש לספק סיסמת שורש (מנהלי) לשימוש במערכת MySQL.
תוכנת מסד הנתונים של MySQL מותקנת כעת, אך התצורה שלה עדיין לא בדיוק שלמה.
כדי לאבטח את ההתקנה, נוכל להריץ סקריפט אבטחה פשוט שישאל האם אנו רוצים לשנות כמה ברירות מחדל חסרות ביטחון. התחל את התסריט על ידי הקלדה:
תתבקש להזין את הסיסמה שהגדרת עבור חשבון שורש MySQL. בשלב הבא, תשאל אם ברצונך להגדיר את התוסף לאמת את תוסף הסיסמה .
אַזהָרָה: הפעלת תכונה זו היא משהו של שיחת שיפוט. אם מופעלים, סיסמאות שלא’תואם את הקריטריונים שצוינו יידחו על ידי MySQL עם שגיאה. זה יגרום לבעיות אם אתה משתמש בסיסמה חלשה בשילוב עם תוכנה שמגבירה אוטומטית את אישורי המשתמש של MySQL, כגון חבילות אובונטו עבור phpmyadmin. זה בטוח להשאיר את השבתת האימות, אך עליך תמיד להשתמש בסיסמאות חזקות וייחודיות עבור אישורי מסד נתונים.
תשובה y עבור כן, או כל דבר אחר להמשיך בלי להפעיל.
ניתן להשתמש בתוסף סיסמאות לבדיקת סיסמאות ולשיפור האבטחה. זה בודק את חוזק הסיסמה ומאפשר למשתמשים להגדיר רק את הסיסמאות המאובטחות מספיק. האם ברצונך להתקין תוסף סיסמא לאמת? לחץ על y | y עבור כן, כל מקש אחר עבור לא:
אם אתה’אימות מופעל, אתה’תתבקש לבחור רמת אימות סיסמא. זכור שאם אתה נכנס 2, ברמה החזקה ביותר, תקבל שגיאות כשאתה מנסה להגדיר כל סיסמה שאינה מכילה מספרים, אותיות עליונות וקטנות ותווים מיוחדים, או שמבוססים על מילות מילון נפוצות.
ישנן שלוש רמות של מדיניות אימות סיסמא: אורך נמוך> = 8 אורך בינוני> = 8, מספרי, מקרה מעורב ותווים מיוחדים אורך חזק> = 8, מספרי, מקרה מעורב, תווים מיוחדים וקובץ מילון אנא הזן 0 = נמוך, 1 = בינוני ו -2 = חזק: 1
אם הפעלת אימות סיסמאות, אתה’לא יראה חוזק סיסמא עבור סיסמת השורש הקיימת, ושאל אותך אם ברצונך לשנות את הסיסמה זו. אם אתה מרוצה מהסיסמה הנוכחית שלך, הזן נ ל “לא” בהנחיה:
באמצעות סיסמה קיימת לשורש. חוזק המשוער של הסיסמה: 100 שנה את הסיסמה לשורש ? ((לחץ על y | y בשביל כן, כל מקש אחר ללא): נ
להמשך השאלות, עליך ללחוץ Y ופגע ב להיכנס המפתח בכל הנחיה. זה יסיר כמה משתמשים אנונימיים ואת מסד הנתונים לבדיקה, ישבית את כניסות השורש המרוחקות ויטען את הכללים החדשים הללו כך ש- MySQL יכבד מייד את השינויים שביצענו.
בשלב זה, מערכת מסד הנתונים שלך מוגדרת כעת ואנחנו יכולים להמשיך הלאה.
שלב 3: התקן PHP לעיבוד
כעת התקנת Nginx כדי לשרת את הדפים שלנו ו- MySQL מותקן כדי לאחסן ולנהל את הנתונים שלנו. עם זאת, אנחנו עדיין לא’יש משהו שיכול ליצור תוכן דינמי. אנו יכולים להשתמש ב- PHP לשם כך.
מכיוון ש- NGINX אינו מכיל עיבוד PHP מקורי כמו שרתי אינטרנט אחרים, עלינו להתקין PHP-FPM, העומד על “מנהל תהליכים FastCGI”. אנו נאמר ל- Nginx להעביר בקשות PHP לתוכנה זו לעיבוד.
אנו יכולים להתקין מודול זה ונתפוס גם חבילת עוזר נוספת שתאפשר ל- PHP לתקשר עם Backend מסד הנתונים שלנו. ההתקנה תמשוך את קבצי הליבה של PHP הדרושים. עשה זאת על ידי הקלדה:
קבע את התצורה של מעבד ה- PHP
כעת יש לנו את רכיבי ה- PHP שלנו, אך עלינו לבצע שינוי תצורה קל כדי להפוך את ההגדרה שלנו לבטוחה יותר.
פתח את קובץ התצורה הראשי של PHP-FPM עם הרשאות שורש:
מה שאנחנו מחפשים בקובץ זה הוא הפרמטר שמגדיר CGI.fix_pathinfo . זה יוגן עם חצי קולון (;) ויוגדר “1” כברירת מחדל.
זוהי הגדרה חסרת ביטחון במיוחד מכיוון שהיא אומרת ל- PHP לנסות לבצע את הקובץ הקרוב ביותר שהוא יכול למצוא אם לא ניתן למצוא את קובץ ה- PHP המבוקש. בעיקרון זה יאפשר למשתמשים ליצור בקשות PHP באופן שיאפשר להם לבצע סקריפטים שהם לא צריכים’לא יורשה לבצע.
אנו נשנה את שני התנאים הללו על ידי ביטול קיום הקו והגדרתו “0” ככה:
/etc/php/7.0/fpm/php.ini
CGI.fix_pathinfo = 0
שמור וסגור את הקובץ בסיום.
עכשיו, אנחנו רק צריכים להפעיל מחדש את מעבד ה- PHP שלנו על ידי הקלדת:
זה יישם את השינוי שעשינו.
שלב 4: הגדר את NGINX לשימוש במעבד PHP
עכשיו, יש לנו את כל הרכיבים הנדרשים. שינוי התצורה היחיד שעלינו עדיין צריך הוא לומר ל- Nginx להשתמש במעבד ה- PHP שלנו לתוכן דינמי.
אנו עושים זאת ברמת חסימת השרת (חסימות השרתים דומות ל- Apache’מארחים וירטואליים). פתח את קובץ התצורה ברירת המחדל של שרת NGINX על ידי הקלדת:
נכון לעכשיו, עם הסרת התגובות, קובץ חסימת שרת ברירת המחדל של NGINX נראה כך:
/etc/nginx/אתרים-זמין/ברירת מחדל
שרת < listen 80 default_server; listen [::]:80 default_server; root /var/www/html; index index.html index.htm index.nginx-debian.html; server_name _; location / < try_files $uri $uri/ =404; >>
עלינו לבצע שינויים בקובץ זה עבור האתר שלנו.
- ראשית, עלינו להוסיף אינדקס.PHP כערך הראשון של הוראת האינדקס שלנו כך שקבצים בשם אינדקס.PHP מוגשים, אם הם זמינים, כאשר מתבקשים מדריך.
- אנו יכולים לשנות את הנחיית Server_Name כדי להצביע על השרת שלנו’שם תחום או כתובת IP ציבורית.
- לעיבוד ה- PHP בפועל, עלינו רק לבטל את הקטע של הקובץ המטפל בבקשות PHP על ידי הסרת סמלי הלירה (#) מלפני כל שורה. זה יהיה המיקום ~ \.חסימת מיקום PHP $, ה- FastCGI-PHP הכלול.Conf Snippet, והשקע המשויך ל- php-fpm .
- אנו גם נרתק את חסימת המיקום העוסקת בו .קבצי htaccess בשיטה זהה. Nginx לא’t לעבד קבצים אלה. אם במקרה אחד מהקבצים הללו ימצא את דרכם לשורש המסמך, אין להגיש אותם למבקרים.
השינויים שעליך לבצע הם באדום בטקסט למטה:
/etc/nginx/אתרים-זמין/ברירת מחדל
שרת < listen 80 default_server; listen [::]:80 default_server; root /var/www/html; index אינדקס.PHP אינדקס.מדד HTML.מדד HTM.Nginx-Debian.html; שם שרת server_domain_or_ip; מקום / < try_files $uri $uri/ =404; >מיקום ~ \.php $ כלול קטעי טקסט/FastCGI-PHP.conf; fastcgi_pass unix:/run/php/php7.0-FPM.גֶרֶב; > מיקום ~ /\.HT להכחיש את הכל; > >
כאשר אתה’ביצע את השינויים לעיל, אתה יכול לשמור ולסגור את הקובץ.
בדוק את קובץ התצורה שלך לשגיאות תחביר על ידי הקלדת:
אם מדווחים על שגיאות, חזור ובדוק מחדש את הקובץ לפני שתמשיך.
כשאתה מוכן, טען מחדש את nginx כדי לבצע את השינויים הדרושים:
שלב 5: צור קובץ PHP לבדיקת תצורה
כעת יש להגדיר את ערימת הלמ. אנו יכולים לבדוק את זה כדי לאמת ש- NGINX יכול למסור נכון .קבצי PHP עוברים למעבד PHP שלנו.
אנו יכולים לעשות זאת על ידי יצירת קובץ PHP מבחן בשורש המסמך שלנו. פתח קובץ חדש שנקרא מידע.PHP בתוך שורש המסמך שלך בעורך הטקסט שלך:
הקלד או הדבק את השורות הבאות בקובץ החדש. זהו קוד PHP תקף שיחזיר מידע על השרת שלנו:
/var/www/html/info.PHP
כשתסיים, שמור וסגור את הקובץ.
כעת, תוכלו לבקר בדף זה בדפדפן האינטרנט שלכם על ידי ביקור בשרת שלכם’שם תחום או כתובת IP ציבורית ואחריה /מידע.PHP:
http: //server_domain_or_ip/מידע.PHP
אתה אמור לראות דף אינטרנט שנוצר על ידי PHP עם מידע על השרת שלך:
אם אתה רואה דף שנראה כך, אתה’הגדר עיבוד PHP עם NGINX בהצלחה.
לאחר אימות ש- Nginx מעניק את הדף נכון, הוא’s הטוב ביותר כדי להסיר את הקובץ שיצרת מכיוון שהוא יכול למעשה לתת למשתמשים לא מורשים כמה רמזים לגבי התצורה שלך שעשויים לעזור להם לנסות לפרוץ פנימה. אתה תמיד יכול להתחדש קובץ זה אם אתה זקוק לו בהמשך.
לעת עתה, הסר את הקובץ על ידי הקלדת:
סיכום
כעת עליכם לקבל ערימת LEMP מוגדרת ב- Ubuntu 16 שלכם.שרת 04. זה נותן לך בסיס גמיש מאוד להגשת תוכן אינטרנט למבקרים שלך.
תודה שלמדת עם הקהילה הדיגיטלית. בדוק את ההצעות שלנו לקבלת מסדי נתונים מחשוב, אחסון, רשת ומנוהלים.