✕ סגור 
צור קשר
תודה על ההתעניינות .

Thank you! Your submission has been received!

Oops! Something went wrong while submitting the form

איך להקים שרת אינטרנט בפחות מ-6$?

מתן גרביץ
|
Jul 2, 2019
alt="blogs"
Events
alt="blogs"
title="Google"
alt="blogs"
Event

ראשית אומר, שהשוק מלא בחברות שמספקות שירותים דומים; החל משירותי אחסון מנוהלים, חברה שתנהל עבורכם ועד לאפשרות לשכור שרת פרטי – פיזי או וירטואלי, שיהיה באחריותכם המלאה.


אם אתם אוהבים לבצע משימות בעצמכם, או רוצים ללמוד איך להקים שרת LINUX קטן שאתם תנהלו בעצמכם, המאמר הזה הוא בהחלט בשבילכם וייתן לכם כיוון לא רע.

דרישות מוקדמות

- חשבון AWS פעיל
- הבנה בסיסית של "איך פועל אתר אינטרנט"
- דומיין משלכם

מה זה Lightsail?


Lightsail הוא בעצם Virtual Private Server, או בעברית שרת פרטי שאנחנו יכולים להקים על גבי התשתית המוכרת לרובנו של AWS במחיר שיתאים לכל כיס וכן, הוא תומך בלינוקס ובחלונות.

בעוד שב-EC2 הפופולרי התשלום מורכב מ-3 מרכיבים: Compute, Network, Storage,
כשהאינסטנס מחוייב לפי שניות/דקות עבודה (עד 720 שעות חודשיות) והדיסקים ועלויות הרשת מחוייבים לפי צריכה, Lightsail מגיע כ"באנדל" (חבילה) של CPU, RAM, NETWORK ודיסק בגדלים קבועים מראש.

ל-Lightsail יש קונסולה נפרדת וגם API (אם תחפצו בכך) בנוסף לתמיכה ב-Security Groups, אפשרות לכתובת IP סטטית, הוספת דיסקים נוספים ללא צורך בהגדרות מסובכות, גישה ל-SSH או RDP ואפילו אפשרות ל-Load balancer בעלות חודשית לא גבוהה.

אז Lightsail הוא גרסת הלואו קוסט של EC2? ומה עדיף?

Lightsail שונה לגמרי בייעוד שלו. לרוב אנחנו בהחלט נרצה להשתמש ב-EC2 ממגוון סיבות:


• התחייבות לטווח של ביצועים ברמת הרשת, הדיסקים וה-CPU
• מבחר גדול של קטגוריות אינסטנסים שמכסים את רוב ה-Workloads שקיימים
• Autoscaling שמאפשר לנו לגדול ולקטון בהתאם לעומס
• הגדרות VPC מתקדמות
• התממשקות נוחה יותר עם שירותים נוספים של AWS
• ועוד!

אז למה בכל זאת Lightsail?

כמה פעמים נדרשתם להרים שרת קטן בשביל לפתח, לבדוק או סתם כשרת ווב?
יש מקרים בהם הפונקציונליות של EC2 היא הרבה מעבר למה שאנחנו צריכים ומוכנים לשלם.
Lightsail עובד נפלא כ-Web server – והוא בהחלט יתאים לאתר וורדפרס קטן עד בינוני או כ-Front-end, אך גם כ-Proxy או סביבת פיתוח ווב בסדר גודל קטן עד בינוני.

המתחרים הגדולים של Lightsail הם Digital Ocean ו-Linode והם לא רעים בכלל, אולם לפני כמעט שנה קיצצה AWS במחירי החבילות של Lightsail, וכיום הפתרון שלהם הוא בהחלט תמורה מצוינת לכסף.


מה אנחנו הולכים לבצע?

1. נקים מכונת AWS Lightsail
2. נתקין LAMP Stack - שמורכב מלינוקס PHP, MYSQL/MARIA-DB
3. נגדיר את השירותים הדרושים לשרת אינטרנט, תוך כדי התחשבות בביצועים ואבטחה
4. נחבר את הדומיין שלנו לשירות
5. נוסיף שכבת Caching על מנת להוריד עומסים מהשרת שלנו


מידע שחשוב לדעת לפני שמתחילים


1. תמיכה טכנית ב-Lightsail עולה כסף
2. ניתן להגדיר Load Balancer ולנתב עומסים ליותר משרת אחד
3. ישנה תמיכה ב-VPC Peering וניתן לחבר את האינסטנס/ים ל-VPC שלנו ולמשאבים שנמצאים בו
4. ניתן להוסיף שטח אחסון (Volume בקלות ובעלות חודשית זניחה)
5. כל ה-Volumes וה-Snapshots מוצפנים כברירת-מחדל
6. Lightsail אינו מתנהג כמו EC2! כיביתם את המכונה? אתם עדיין משלמים עליה - כדי להפסיק לשלם עליה תידרשו למחוק אותה לגמרי
7. AWS מקצים לכם כמות חודשית קבועה של מידע שיוצא מהשרת שלכם אל העולם הגדול. עברתם אותה? תשלמו על החריגה בתעבורה, אבל הסכום זניח ובהמשך נעסוק בדרכים להוריד את התעבורה מהשרת שלנו ל-CDN


האתגרים שבאים עם שרת דל משאבים

בכותרת המאמר זרקתי פצצה – "שרת אינטרנט בפחות מ-6$".
כדי לעמוד בתקציב ועדיין לקבל ביצועים סבירים, אנו נצטרך לתכנן טקטיקה מסודרת.
בשלב הראשון נאפיין את האתר שלנו:

האם האתר מתוכנן להיות דינאמי או סטטי?


o במידה ומדובר על אתר סטטי שכולו כתוב ב-HTML, נשקול לעבור לאחסון מלא ב-BUCKET ב-S3.
- האם לאתר שלנו יהיה Database?
- האם אנו מתכננים לאחסן קבצי מדיה רבים? האם קבצי המדיה יהיו סטטיים?
- מאיזה איזור גיאוגרפי יגיע רוב קהל הגולשים שלנו?

על מנת להפחית את העומס מהשרת שלנו נרצה לנקוט במספר פעולות:

1. להעביר קבצים גדולים ל-BUCKET ב-S3 ולהצביע עליהם מתוך האתר שלנו
2. להשתמש ב-CDN כדי לאגור את כל הקבצים הסטטיים שלנו, מה שיאפשר לנו:
a. לקרב את התכנים שלנו מהשרת המרוחק שלנו לרשת CDN שקרובה לגולשים
b. להפחית LATENCY ולהקטין את זמני הטעינה
c. להפחית את העומס מהשרת שלנו. תכנים סטטיים ופופולריים יגיעו אל הגולשים שלנו מרשת ה-CDN ולא מהתשתית של AWS
d. שימוש ב-CDN כמו CLOUDFLARE יאפשר לנו להשתמש בפרוטוקול HTTPS מבלי להעמיס על השרת שלנו

3. בנוסף ל-OFFLOAD שאנחנו מתכננים, נרצה גם לייעל את פעולת השרת שלנו:

a. מפאת זכרון ה-RAM הנמוך ובכדי למנוע מצב שבו השרת יקרוס כתוצאה מ-OOM KILLER, נגדיר קובץ SWAP
b. נקטין את ה-TIMEOUT per connection בהגדרות ה-APACHE
c. נבטל מודולים שלא בשימוש ב-APACHE
d. נתקין 7-PHP במקום גרסה 5. ה-7 מהיר ויציב יותר (לינק בתחתית המאמר)
e. נקטין את מספר הבקשות איתן השרת שלנו צריך להתמודד ברגע נתון
f. נקשיח את התנהגות השרת בצורה בסיסית, כדי למנוע פריצות
g. במידה ואנחנו מייעדים את השרת לאחסון וורדפרס , נתקין פלאג-אין ייעודי שיעשה Caching לתכנים שלנו


* ניתן להשתמש גם ב-VARNISH,SQUID, MEMCACHE או כל פרוקסי אחר שישמור את האתר שלנו ב-CACHE פנימי, מה שיוריד את זמן העיבוד עבור כל אובייקט HTTP שיוגש מהקאש.
כדי להנות מהיתרונות שבפתרון הזה נצטרך קצת יותר זיכרון RAM ממה שמוקצה לנו, ולכן בחרתי שלא להיכנס לשם כעת – אבל הפתרון בהחלט ישים במידה והקמתם אינסטנס גדול יותר או שיש לכם אינסטנס נוסף שישמש כ-Proxy server.

הקמת התשתית


לרשותנו עומדות מספר אפשרויות לא רעות בכלל: החל ממערכות ההפעלה הנפוצות בשוק
ועד ל-Stackים המצוינים של Bitnami (שלאחרונה נרכשה ע"י VMWARE).

במאמר זה נבחר בשרת 7 CENTOS נקי, עליו נלביש חבילות שיספקו לנו מסד נתונים ו-PHP.
התקנה ידנית תתן לנו שליטה טובה ופשוטה, ויותר מכך – כשנתקל בבעיה, נדע לפתור אותה בעצמנו.

המשך עם תמונות:

ניכנס לקונסולה של AWS ונחפש את Lightsail, משם נבחר Create Instance.
במקרה שלי, בחרתי בשרת אירופאי קרוב יחסית:


נבחר Linux instance וספציפית :CentOS7


אינסטנס עם 1GB זכרון אמור להספיק לנו. לא לשכוח להגדיר Key Pair כדי שנוכל להתחבר אחר ב-SSH:

נעבור לטאב ה-Network ונקצה לאינסטנס החדש שלנו כתובת IP קבועה:

מכאן נחזור אל הדף הראשי של Lightsail, נבחר את האינסטנס שלנו  Network tab <
ונגדיר את החוקים שיאכפו את התנועה אל תוך האינסטנס שלנו.
וודאו שפורט 22 (SSH) תמיד מאופשר, השאר תלויים בכם ובייעוד המכונה:

התקנת LAMP


על מנת לקצר מעט תהליכים, כתבתי סקריפט התקנה שיתקין ויבצע את ההגדרה הראשונית עבורנו.


הסקריפט מורכב בעיקר מפקודות לינוקס פשוטות ולכן יהיה קל להבנה עבור כל מי שמכיר.
שימו לב שכדי להשאיר אותו פשוט וקריא לרובנו – אין בו ואלידציות, והוא רחוק מלהיות Bullet Proof.

בשלב זה תוכלו לבחור אם להוריד ולהריץ אותו בשלמותו, או להעתיק ממנו את הפקודות ולהריצן אחת-אחת.


בכל מקרה, חשוב לזכור שהוא נכתב עבור CentOS7 ושלפני שנתחיל נצטרך לעבור לקבל הרשאות ROOT על מערכת ההפעלה. נעשה זאת על ידי הפקודה הבאה:


sudo su -
ולאחריה נריץ את הסקריפט או הפקודות ונוודא שהתהליך מסתיים בהצלחה


את קובץ ההתקנה המהירה שלנו ניתן להוריד/לראות כאן:


https://github.com/matan-gr/lamp-it/blob/master/install_lamp.sh

נתחבר אל האינסטנס ונריץ top – שימו לב שה-SWAP לא מוגדר עבור אינסטנס נקי:

נתקין GIT:
yum install git -y
ונוריד את הסקריפט ל-/tmp

ניתן הרשאות Execute  ונריץ:

בדיקת תקינות


לאחר שהרצנו את ההתקנה הבסיסית, נוודא ש-APACHE ו-MYSQL רצים:

systemctl status mysqld
systemctl status httpd

נוודא שהשירות שלנו מאזין על פורט 80 (במידה ולא הוספתם דף אינדקס, התשובה
שתחזור אלינו תהיה 403 :HTTP

השרת שלנו אמור להיות נגיש כעת גם בכתובת הקבועה שהקצנו קודם לכן, מכל מקום בעולם:


חיבור לדומיין ו-CDN


כדי להאיץ את האתר שלנו ולהוריד את העומס מהשרת עבור תכנים פופולריים, נשתמש ב-CDN.

CloudFront, ה-CDN של AWS מצויין לתעבורת WEB ולא יקר במיוחד, אבל במקרה של
התקפות DDOS על השרת שלכם, תאלצו לשלם על כל הטראפיק שנכנס – וזה כבר יעבור את ה-6$.
במקום זאת, אנו נשתמש בשירות החינמי של CloudFlare, שנותן לנו פונקציונליות בסיסית אבל לגמרי עושה את העבודה.

אסטרטגיה להעברת הדומיין לשרת החדש


אם כבר יש לכם דומיין שמחובר לשרת ווב קיים, מעבר לא חלק יפגע בגולשים שלכם
לכן, נרצה לבצע מספר פעולות שיורידו את ה-Down Time בתהליך למינימום:

1. ניכנס לפאנל ניהול הדומיין אצל ספק הדומיינים שממנו רכשתם
2. נוריד את ה-TTL ממספר שעות/ימים ל-5 דקות – ה-TTL קובע לכמה זמן הרשומות ישארו ב-CACHE
3. נמתין עד לפחות את מספר השעות או הימים שה-TTL היה מכוון אליו לפני השימוש


CloudFlare והגדרות נוספות

נפתח חשבון באתר http://Cloudflare.com ונוסיף את הדומיין שלנו.
ברגע שנעשה זאת, תרוץ בדיקת Lookup ותאמר לנו למחוק את כל רשומות ה-DNS
שיש לנו אצל רשם הדומיינים שדרכו קנינו את הדומיין.
לאחר שנמחק את הרשומות, נוסיף רשומה חדשה של NS עם הכתובת שתופיע על המסך:


ברגע שהתהליך יאושר, תקבלו מייל או הודעה שהמעבר הושלם וכעת הדומיין ינוהל ע"י CloudFlare.
כשזה יקרה, ניגש לתפריט ה-DNS ונוסיף A Record עם הכתובת הסטטית של האינסטנס שלנו:


זהו!
כעת האתר שלנו אמור להיות זמין דרך הדומיין שברשותנו.

איך ממשיכים מכאן?

בגדול, יש עוד כמה דברים קטנים שנרצה לעשות לפני שנעלה את השרת שלנו לפרודקשן:

1. נסיים את ההתקנה של MYSQL ונגדיר database ראשון
2. נעבור על הקובץ קונפיגורציה של Apache, ובמידת הצורך נערוך אותו
3. נעבור על ההגדרות של Cloudflare ונפעיל את הפיצ'רים שמעניינים אותנו
4. נעלה ונפרוס את הקוד שלנו על השרת


לקריאה נוספת:

הקמתם Lightsail ורוצים לעבור ל-EC2? אין בעיה:


https://aws.amazon.com/about-aws/whats-new/2018/11/amazon-lightsail-now-provides-an-upgrade-path-to-ec2/

החשיבות וההבדלים בביצועים בין גרסאות ה-PHP השונות:


https://servebolt.com/articles/wordpress-5-0-php-7-2-vs-php-7-3-performance-and-speed-benchmark/

שיפורי ביצועים אפשריים ל-APACHE:


https://bobcares.com/blog/speed-up-apache/


הקשחת שרת APACHE:


https://www.tecmint.com/apache-security-tips/


מאת: מתן גרביץ, Solution Engineer at Incredibuild


רוצים להתעדכן בתכנים נוספים בנושאי ענן וטכנולוגיות מתקדמות? הירשמו עכשיו לניוזלטר שלנו ותמיד תישארו בעניינים > להרשמה

ראשית אומר, שהשוק מלא בחברות שמספקות שירותים דומים; החל משירותי אחסון מנוהלים, חברה שתנהל עבורכם ועד לאפשרות לשכור שרת פרטי – פיזי או וירטואלי, שיהיה באחריותכם המלאה.


אם אתם אוהבים לבצע משימות בעצמכם, או רוצים ללמוד איך להקים שרת LINUX קטן שאתם תנהלו בעצמכם, המאמר הזה הוא בהחלט בשבילכם וייתן לכם כיוון לא רע.

דרישות מוקדמות

- חשבון AWS פעיל
- הבנה בסיסית של "איך פועל אתר אינטרנט"
- דומיין משלכם

מה זה Lightsail?


Lightsail הוא בעצם Virtual Private Server, או בעברית שרת פרטי שאנחנו יכולים להקים על גבי התשתית המוכרת לרובנו של AWS במחיר שיתאים לכל כיס וכן, הוא תומך בלינוקס ובחלונות.

בעוד שב-EC2 הפופולרי התשלום מורכב מ-3 מרכיבים: Compute, Network, Storage,
כשהאינסטנס מחוייב לפי שניות/דקות עבודה (עד 720 שעות חודשיות) והדיסקים ועלויות הרשת מחוייבים לפי צריכה, Lightsail מגיע כ"באנדל" (חבילה) של CPU, RAM, NETWORK ודיסק בגדלים קבועים מראש.

ל-Lightsail יש קונסולה נפרדת וגם API (אם תחפצו בכך) בנוסף לתמיכה ב-Security Groups, אפשרות לכתובת IP סטטית, הוספת דיסקים נוספים ללא צורך בהגדרות מסובכות, גישה ל-SSH או RDP ואפילו אפשרות ל-Load balancer בעלות חודשית לא גבוהה.

אז Lightsail הוא גרסת הלואו קוסט של EC2? ומה עדיף?

Lightsail שונה לגמרי בייעוד שלו. לרוב אנחנו בהחלט נרצה להשתמש ב-EC2 ממגוון סיבות:


• התחייבות לטווח של ביצועים ברמת הרשת, הדיסקים וה-CPU
• מבחר גדול של קטגוריות אינסטנסים שמכסים את רוב ה-Workloads שקיימים
• Autoscaling שמאפשר לנו לגדול ולקטון בהתאם לעומס
• הגדרות VPC מתקדמות
• התממשקות נוחה יותר עם שירותים נוספים של AWS
• ועוד!

אז למה בכל זאת Lightsail?

כמה פעמים נדרשתם להרים שרת קטן בשביל לפתח, לבדוק או סתם כשרת ווב?
יש מקרים בהם הפונקציונליות של EC2 היא הרבה מעבר למה שאנחנו צריכים ומוכנים לשלם.
Lightsail עובד נפלא כ-Web server – והוא בהחלט יתאים לאתר וורדפרס קטן עד בינוני או כ-Front-end, אך גם כ-Proxy או סביבת פיתוח ווב בסדר גודל קטן עד בינוני.

המתחרים הגדולים של Lightsail הם Digital Ocean ו-Linode והם לא רעים בכלל, אולם לפני כמעט שנה קיצצה AWS במחירי החבילות של Lightsail, וכיום הפתרון שלהם הוא בהחלט תמורה מצוינת לכסף.


מה אנחנו הולכים לבצע?

1. נקים מכונת AWS Lightsail
2. נתקין LAMP Stack - שמורכב מלינוקס PHP, MYSQL/MARIA-DB
3. נגדיר את השירותים הדרושים לשרת אינטרנט, תוך כדי התחשבות בביצועים ואבטחה
4. נחבר את הדומיין שלנו לשירות
5. נוסיף שכבת Caching על מנת להוריד עומסים מהשרת שלנו


מידע שחשוב לדעת לפני שמתחילים


1. תמיכה טכנית ב-Lightsail עולה כסף
2. ניתן להגדיר Load Balancer ולנתב עומסים ליותר משרת אחד
3. ישנה תמיכה ב-VPC Peering וניתן לחבר את האינסטנס/ים ל-VPC שלנו ולמשאבים שנמצאים בו
4. ניתן להוסיף שטח אחסון (Volume בקלות ובעלות חודשית זניחה)
5. כל ה-Volumes וה-Snapshots מוצפנים כברירת-מחדל
6. Lightsail אינו מתנהג כמו EC2! כיביתם את המכונה? אתם עדיין משלמים עליה - כדי להפסיק לשלם עליה תידרשו למחוק אותה לגמרי
7. AWS מקצים לכם כמות חודשית קבועה של מידע שיוצא מהשרת שלכם אל העולם הגדול. עברתם אותה? תשלמו על החריגה בתעבורה, אבל הסכום זניח ובהמשך נעסוק בדרכים להוריד את התעבורה מהשרת שלנו ל-CDN


האתגרים שבאים עם שרת דל משאבים

בכותרת המאמר זרקתי פצצה – "שרת אינטרנט בפחות מ-6$".
כדי לעמוד בתקציב ועדיין לקבל ביצועים סבירים, אנו נצטרך לתכנן טקטיקה מסודרת.
בשלב הראשון נאפיין את האתר שלנו:

האם האתר מתוכנן להיות דינאמי או סטטי?


o במידה ומדובר על אתר סטטי שכולו כתוב ב-HTML, נשקול לעבור לאחסון מלא ב-BUCKET ב-S3.
- האם לאתר שלנו יהיה Database?
- האם אנו מתכננים לאחסן קבצי מדיה רבים? האם קבצי המדיה יהיו סטטיים?
- מאיזה איזור גיאוגרפי יגיע רוב קהל הגולשים שלנו?

על מנת להפחית את העומס מהשרת שלנו נרצה לנקוט במספר פעולות:

1. להעביר קבצים גדולים ל-BUCKET ב-S3 ולהצביע עליהם מתוך האתר שלנו
2. להשתמש ב-CDN כדי לאגור את כל הקבצים הסטטיים שלנו, מה שיאפשר לנו:
a. לקרב את התכנים שלנו מהשרת המרוחק שלנו לרשת CDN שקרובה לגולשים
b. להפחית LATENCY ולהקטין את זמני הטעינה
c. להפחית את העומס מהשרת שלנו. תכנים סטטיים ופופולריים יגיעו אל הגולשים שלנו מרשת ה-CDN ולא מהתשתית של AWS
d. שימוש ב-CDN כמו CLOUDFLARE יאפשר לנו להשתמש בפרוטוקול HTTPS מבלי להעמיס על השרת שלנו

3. בנוסף ל-OFFLOAD שאנחנו מתכננים, נרצה גם לייעל את פעולת השרת שלנו:

a. מפאת זכרון ה-RAM הנמוך ובכדי למנוע מצב שבו השרת יקרוס כתוצאה מ-OOM KILLER, נגדיר קובץ SWAP
b. נקטין את ה-TIMEOUT per connection בהגדרות ה-APACHE
c. נבטל מודולים שלא בשימוש ב-APACHE
d. נתקין 7-PHP במקום גרסה 5. ה-7 מהיר ויציב יותר (לינק בתחתית המאמר)
e. נקטין את מספר הבקשות איתן השרת שלנו צריך להתמודד ברגע נתון
f. נקשיח את התנהגות השרת בצורה בסיסית, כדי למנוע פריצות
g. במידה ואנחנו מייעדים את השרת לאחסון וורדפרס , נתקין פלאג-אין ייעודי שיעשה Caching לתכנים שלנו


* ניתן להשתמש גם ב-VARNISH,SQUID, MEMCACHE או כל פרוקסי אחר שישמור את האתר שלנו ב-CACHE פנימי, מה שיוריד את זמן העיבוד עבור כל אובייקט HTTP שיוגש מהקאש.
כדי להנות מהיתרונות שבפתרון הזה נצטרך קצת יותר זיכרון RAM ממה שמוקצה לנו, ולכן בחרתי שלא להיכנס לשם כעת – אבל הפתרון בהחלט ישים במידה והקמתם אינסטנס גדול יותר או שיש לכם אינסטנס נוסף שישמש כ-Proxy server.

הקמת התשתית


לרשותנו עומדות מספר אפשרויות לא רעות בכלל: החל ממערכות ההפעלה הנפוצות בשוק
ועד ל-Stackים המצוינים של Bitnami (שלאחרונה נרכשה ע"י VMWARE).

במאמר זה נבחר בשרת 7 CENTOS נקי, עליו נלביש חבילות שיספקו לנו מסד נתונים ו-PHP.
התקנה ידנית תתן לנו שליטה טובה ופשוטה, ויותר מכך – כשנתקל בבעיה, נדע לפתור אותה בעצמנו.

המשך עם תמונות:

ניכנס לקונסולה של AWS ונחפש את Lightsail, משם נבחר Create Instance.
במקרה שלי, בחרתי בשרת אירופאי קרוב יחסית:


נבחר Linux instance וספציפית :CentOS7


אינסטנס עם 1GB זכרון אמור להספיק לנו. לא לשכוח להגדיר Key Pair כדי שנוכל להתחבר אחר ב-SSH:

נעבור לטאב ה-Network ונקצה לאינסטנס החדש שלנו כתובת IP קבועה:

מכאן נחזור אל הדף הראשי של Lightsail, נבחר את האינסטנס שלנו  Network tab <
ונגדיר את החוקים שיאכפו את התנועה אל תוך האינסטנס שלנו.
וודאו שפורט 22 (SSH) תמיד מאופשר, השאר תלויים בכם ובייעוד המכונה:

התקנת LAMP


על מנת לקצר מעט תהליכים, כתבתי סקריפט התקנה שיתקין ויבצע את ההגדרה הראשונית עבורנו.


הסקריפט מורכב בעיקר מפקודות לינוקס פשוטות ולכן יהיה קל להבנה עבור כל מי שמכיר.
שימו לב שכדי להשאיר אותו פשוט וקריא לרובנו – אין בו ואלידציות, והוא רחוק מלהיות Bullet Proof.

בשלב זה תוכלו לבחור אם להוריד ולהריץ אותו בשלמותו, או להעתיק ממנו את הפקודות ולהריצן אחת-אחת.


בכל מקרה, חשוב לזכור שהוא נכתב עבור CentOS7 ושלפני שנתחיל נצטרך לעבור לקבל הרשאות ROOT על מערכת ההפעלה. נעשה זאת על ידי הפקודה הבאה:


sudo su -
ולאחריה נריץ את הסקריפט או הפקודות ונוודא שהתהליך מסתיים בהצלחה


את קובץ ההתקנה המהירה שלנו ניתן להוריד/לראות כאן:


https://github.com/matan-gr/lamp-it/blob/master/install_lamp.sh

נתחבר אל האינסטנס ונריץ top – שימו לב שה-SWAP לא מוגדר עבור אינסטנס נקי:

נתקין GIT:
yum install git -y
ונוריד את הסקריפט ל-/tmp

ניתן הרשאות Execute  ונריץ:

בדיקת תקינות


לאחר שהרצנו את ההתקנה הבסיסית, נוודא ש-APACHE ו-MYSQL רצים:

systemctl status mysqld
systemctl status httpd

נוודא שהשירות שלנו מאזין על פורט 80 (במידה ולא הוספתם דף אינדקס, התשובה
שתחזור אלינו תהיה 403 :HTTP

השרת שלנו אמור להיות נגיש כעת גם בכתובת הקבועה שהקצנו קודם לכן, מכל מקום בעולם:


חיבור לדומיין ו-CDN


כדי להאיץ את האתר שלנו ולהוריד את העומס מהשרת עבור תכנים פופולריים, נשתמש ב-CDN.

CloudFront, ה-CDN של AWS מצויין לתעבורת WEB ולא יקר במיוחד, אבל במקרה של
התקפות DDOS על השרת שלכם, תאלצו לשלם על כל הטראפיק שנכנס – וזה כבר יעבור את ה-6$.
במקום זאת, אנו נשתמש בשירות החינמי של CloudFlare, שנותן לנו פונקציונליות בסיסית אבל לגמרי עושה את העבודה.

אסטרטגיה להעברת הדומיין לשרת החדש


אם כבר יש לכם דומיין שמחובר לשרת ווב קיים, מעבר לא חלק יפגע בגולשים שלכם
לכן, נרצה לבצע מספר פעולות שיורידו את ה-Down Time בתהליך למינימום:

1. ניכנס לפאנל ניהול הדומיין אצל ספק הדומיינים שממנו רכשתם
2. נוריד את ה-TTL ממספר שעות/ימים ל-5 דקות – ה-TTL קובע לכמה זמן הרשומות ישארו ב-CACHE
3. נמתין עד לפחות את מספר השעות או הימים שה-TTL היה מכוון אליו לפני השימוש


CloudFlare והגדרות נוספות

נפתח חשבון באתר http://Cloudflare.com ונוסיף את הדומיין שלנו.
ברגע שנעשה זאת, תרוץ בדיקת Lookup ותאמר לנו למחוק את כל רשומות ה-DNS
שיש לנו אצל רשם הדומיינים שדרכו קנינו את הדומיין.
לאחר שנמחק את הרשומות, נוסיף רשומה חדשה של NS עם הכתובת שתופיע על המסך:


ברגע שהתהליך יאושר, תקבלו מייל או הודעה שהמעבר הושלם וכעת הדומיין ינוהל ע"י CloudFlare.
כשזה יקרה, ניגש לתפריט ה-DNS ונוסיף A Record עם הכתובת הסטטית של האינסטנס שלנו:


זהו!
כעת האתר שלנו אמור להיות זמין דרך הדומיין שברשותנו.

איך ממשיכים מכאן?

בגדול, יש עוד כמה דברים קטנים שנרצה לעשות לפני שנעלה את השרת שלנו לפרודקשן:

1. נסיים את ההתקנה של MYSQL ונגדיר database ראשון
2. נעבור על הקובץ קונפיגורציה של Apache, ובמידת הצורך נערוך אותו
3. נעבור על ההגדרות של Cloudflare ונפעיל את הפיצ'רים שמעניינים אותנו
4. נעלה ונפרוס את הקוד שלנו על השרת


לקריאה נוספת:

הקמתם Lightsail ורוצים לעבור ל-EC2? אין בעיה:


https://aws.amazon.com/about-aws/whats-new/2018/11/amazon-lightsail-now-provides-an-upgrade-path-to-ec2/

החשיבות וההבדלים בביצועים בין גרסאות ה-PHP השונות:


https://servebolt.com/articles/wordpress-5-0-php-7-2-vs-php-7-3-performance-and-speed-benchmark/

שיפורי ביצועים אפשריים ל-APACHE:


https://bobcares.com/blog/speed-up-apache/


הקשחת שרת APACHE:


https://www.tecmint.com/apache-security-tips/


מאת: מתן גרביץ, Solution Engineer at Incredibuild


רוצים להתעדכן בתכנים נוספים בנושאי ענן וטכנולוגיות מתקדמות? הירשמו עכשיו לניוזלטר שלנו ותמיד תישארו בעניינים > להרשמה

לפרטים נוספים ויצירת קשר עם נציג אורקל

תודה הודעתך התקבלה

הודעתך לא התקבלה - נסה שוב מאוחר יותר

מתן גרביץ

הירשם לרשימת הדיוור של IsraelClouds

Thank you! Your submission has been received!

Oops! Something went wrong while submitting the form

מילון מונחיםהשירותים שלנו תנאי שימושהרשמה לניוזלטרמדיניות פרטיות