คำแนะนำทีละขั้นตอนในการตั้งค่า WordPress บนอินสแตนซ์ Linux ของ Amazon EC2 (AWS)
เผยแพร่แล้ว: 2017-05-25Amazon Elastic Compute Cloud ( Amazon EC2 ) เป็นบริการคลาวด์ที่ให้ความสามารถในการประมวลผลที่ปรับขนาดได้ในระบบคลาวด์ ได้รับการออกแบบมาสำหรับนักพัฒนาเพื่อปรับขนาดและตรวจสอบเว็บแอปพลิเคชันของตนได้ดีขึ้น
Amazon EC2 มีคุณสมบัติขั้นสูงบางอย่าง เช่น IP แบบยืดหยุ่น Load Balancing แพลตฟอร์มต่างๆ เช่น (linux, windows เป็นต้น) การปรับขนาด การตรวจสอบ ฯลฯ นอกจากนี้ยังเป็นเรื่องง่ายสำหรับนักพัฒนาในการจัดการเว็บแอปพลิเคชันของตนในทางที่ดีขึ้น
การโฮสต์ WordPress on AWS
เป็นทางเลือกที่ชาญฉลาด เพราะเมื่อเปรียบเทียบกับผู้ให้บริการ VPS รายอื่นแล้ว amazon มีราคาที่ต่ำ คุณสมบัติที่มากกว่า และบริการที่น่าทึ่งอื่นๆ ที่เกี่ยวข้อง นอกจากนี้ยังเรียกเก็บเงินคุณต่อชั่วโมงอินสแตนซ์ของคุณที่เรียกใช้
ดังนั้น ในบทช่วยสอนนี้ ฉันจะแสดงวิธี ตั้งค่าสภาพแวดล้อม LAMP บนแพลตฟอร์ม Linux และ ติดตั้งบล็อก WordPress ด้วยตนเองบนอินสแตนซ์ Amazon EC2
คำแนะนำทีละขั้นตอน นี้จะช่วยให้คุณจัดการโฮสต์ของคุณได้อย่างสมบูรณ์ซึ่งแตกต่างจาก cPanel
1. สร้างบัญชี AWS
ก่อนอื่น คุณต้องสร้างบัญชี AWS ของคุณ สามารถสมัครได้ตามลิงค์นี้ คุณจะต้องระบุบัตรเครดิตหรือบัตรเดบิตระหว่างประเทศ และหมายเลขโทรศัพท์ที่ระบบจะโทรหาคุณซึ่งเป็นส่วนหนึ่งของกระบวนการตรวจสอบการลงทะเบียนออนไลน์ตามข้อกำหนดและนโยบาย
บัตรเครดิตหรือบัตรเดบิตของคุณจะถูกเรียกเก็บเงินในจำนวนเล็กน้อยและจะได้รับคืนเมื่อตรวจสอบแล้ว Amazon เสนอ Free Usage Tier ซึ่งเราจะติดตั้ง WordPress ซึ่งเหมาะสำหรับการสำรวจบริการต่างๆ และแม้แต่โฮสต์แอปจริง ๆ โดยไม่ต้องเสียเงินแม้แต่บาทเดียว
2. สร้างอินสแตนซ์
หลังจากลงทะเบียนแล้ว คุณมีตัวเลือกมากมาย และคุณอาจมีคำถามนี้อยู่ในใจว่า Which type of instance should I choose
หากคุณมีบล็อกใหม่ คุณสามารถเลือก EC2 micro instance
ซึ่งสามารถรองรับการรับส่งข้อมูลแบบเรียลไทม์ได้กว่า 200+ รายการ
นอกจากนี้ยังมีโครงสร้างราคาที่น่าดึงดูดใจ แต่ถ้าคุณกำลังย้ายบล็อกที่มีอยู่และมีปริมาณการใช้งานมากกว่าพันต่อวัน คุณต้องเลือกอินสแตนซ์ขนาดเล็กที่สามารถจัดการปริมาณการใช้งานนั้นได้ง่ายมาก
หากต้องการสร้างอินสแตนซ์ใหม่ ให้เข้าถึง AWS Management Console แล้วคลิกแท็บ EC2:
- เลือก AMI ในตัวช่วยสร้างอินสแตนซ์แบบคลาสสิก:
- ฉันเลือกเซิร์ฟเวอร์ Ubuntu พื้นฐาน 64 บิต Amazon Linux AMI
- รายละเอียดอินสแตนซ์:
- เลือกประเภทอินสแตนซ์ที่คุณต้องการใช้ ฉันเลือกขนาดเล็ก (m5a.small)
- สร้างคู่คีย์ใหม่
- ป้อนชื่อคู่คีย์ของคุณ (เช่น crunchify) และดาวน์โหลดคู่คีย์ของคุณ (เช่น
crunchify.pem
)
- ป้อนชื่อคู่คีย์ของคุณ (เช่น crunchify) และดาวน์โหลดคู่คีย์ของคุณ (เช่น
- เลือกกลุ่มความปลอดภัยเริ่มต้นอย่างรวดเร็ว
- เปิดอินสแตนซ์ของคุณ
3. SSH ลงในอินสแตนซ์ของคุณ
เมื่อการตั้งค่าอินสแตนซ์ของคุณเสร็จสิ้นและแสดงว่าอินสแตนซ์กำลังทำงานอยู่ คุณสามารถ ssh
เข้าไปได้
- ก่อนอื่น คุณต้องระบุที่อยู่ IP ( DNS สาธารณะ) ของอินสแตนซ์ของคุณ:
- เลือกอินสแตนซ์ใน AWS Management Console
- ค้นหา DNS สาธารณะในคำอธิบายอินสแตนซ์ (ส่วนล่างของหน้าจอ)
ใช้ที่อยู่นั้น (และพาธไปยังไฟล์ .pem ของคุณ) เพื่อ ssh ในอินสแตนซ์ของคุณ:
1 |
ssh ec2 - user @ ec2 - 50 - 17 - 15 - 27.compute - 1.amazonaws.com - i ~ / crunchify . pem |
หากคุณใช้ระบบ Windows คุณควรใช้ Putty เพื่อเชื่อมต่อเป็น SSH คุณสามารถเชื่อมต่อกับผงสำหรับอุดรูโดยทำตามบทความนี้
หากคุณได้รับข้อความแสดงข้อผิดพลาดเกี่ยวกับการอนุญาตไฟล์ .pem ของคุณที่เปิดเกินไป ให้ chmod ไฟล์ .pem ของคุณดังนี้:
1 |
[ ec2 - user ~ ] $ chmod 600 ~ / crunchify . pem |
ในบทช่วยสอนนี้ คุณต้องดำเนินการคำสั่งเชลล์หลายคำสั่ง และคำสั่งส่วนใหญ่ต้องการการเข้าถึงรูท ดังนั้น เพื่อหลีกเลี่ยงปัญหานี้ เราจะนำหน้าคำสั่งทั้งหมดเหล่านี้ด้วย sudo โดยเปลี่ยนผู้ใช้เพียงครั้งเดียวด้วยคำสั่งนี้
1 |
[ ec2 - user ~ ] $ sudo su |
4. ติดตั้ง Apache Web Server เพื่อเรียกใช้ PHP
ในการติดตั้ง Apache Web Server ให้พิมพ์เทอร์มินัล:
1 2 3 4 |
[ ec2 - user ~ ] $ sudo yum - y install python - simplejson # Install PHP latest version [ ec2 - user ~ ] $ sudo yum update # System wide upgrade [ ec2 - user ~ ] $ sudo yum install - y default - jre # Install Java (just to be safe) [ ec2 - user ~ ] $ sudo yum install httpd # Install HTTPD server |
เริ่มเว็บเซิร์ฟเวอร์ Apache:
1 |
[ ec2 - user ~ ] $ service httpd start |
หลังจากตั้งค่าแล้ว หากต้องการทดสอบเว็บเซิร์ฟเวอร์ของคุณ ให้เปิดเบราว์เซอร์และเข้าถึงเว็บไซต์ของคุณ:
1 |
http : //ec2-50-17-15-27.compute-1.amazonaws.com |
(ใช้ชื่อ DNS สาธารณะที่แท้จริงของคุณ) คุณควรเห็นหน้าเริ่มต้นของที่พักมาตรฐานของ Amazon
5. ติดตั้ง PHP เพื่อเรียกใช้ WordPress
ในการติดตั้ง PHP ให้พิมพ์เทอร์มินัล:
1 |
[ ec2 - user ~ ] $ yum install php php - mysql |
หลังจากติดตั้ง php สำเร็จให้รีสตาร์ท Apache Web Server:
1 |
[ ec2 - user ~ ] $ service httpd restart |
สร้างเพจเพื่อทดสอบการติดตั้ง PHP ของคุณ:
1 2 |
[ ec2 - user ~ ] $ cd / var / www / html [ ec2 - user ~ ] $ vi test . php |
- พิมพ์
i
เพื่อเริ่มโหมดแทรก - พิมพ์
<?php phpinfo() ?>
- พิมพ์
:wq
เพื่อเขียนไฟล์และออกจาก vi
เปิดเบราว์เซอร์และเข้าถึง test.php เพื่อทดสอบการติดตั้ง PHP ของคุณ:
1 |
http : //ec2-50-17-15-27.compute-1.amazonaws.com/test.php |
(ใช้ชื่อ DNS สาธารณะของคุณ)
6. ติดตั้ง MySQL เพื่อเพิ่มฐานข้อมูล
ในการติดตั้ง MySQL ให้พิมพ์:
1 |
[ ec2 - user ~ ] $ yum install mysql - server |
เริ่ม MySQL:
1 |
[ ec2 - user ~ ] $ service mysqld start |
สร้างฐานข้อมูล "บล็อก" ของคุณ:
1 |
[ ec2 - user ~ ] $ mysqladmin - u root create blog |
รักษาความปลอดภัยฐานข้อมูลของคุณ:
1 |
[ ec2 - user ~ ] $ mysql_secure_installation |
ตอบคำถามวิซาร์ดดังนี้:
- ป้อนรหัสผ่านปัจจุบันสำหรับรูท: กด return for none
- เปลี่ยนรหัสผ่านรูท: Y
- รหัสผ่านใหม่: ใส่รหัสผ่านใหม่ของคุณ
- ลบผู้ใช้ที่ไม่ระบุชื่อ: Y
- ไม่อนุญาตให้รูทล็อกอินจากระยะไกล: Y
- ลบฐานข้อมูลทดสอบและเข้าถึง: Y
- โหลดตารางสิทธิ์ทันที: Y
7. ติดตั้ง WordPress
ในการติดตั้ง WordPress ให้พิมพ์:
1 2 |
[ ec2 - user ~ ] $ cd / var / www / html [ ec2 - user ~ ] $ wget http : //wordpress.org/latest.tar.gz |
วิธีคลายการบีบอัดไฟล์ประเภท tar.gz:

1 |
[ ec2 - user ~ ] $ tar - xzvf latest . tar . gzcd |
การดำเนินการนี้จะคลายการบีบอัด WordPress ในไดเร็กทอรี WordPress
ของตัวเอง
ฉันชอบให้มี WordPress ในไดเร็กทอรีแยกต่างหาก แต่อยากจะเปลี่ยนชื่อเป็น "บล็อก" หากคุณต้องการติดตั้งลงในโดเมนย่อยเช่น "http://your-site.com/blog":
1 |
[ ec2 - user ~ ] $ mv wordpress blog |
มิฉะนั้นให้ย้ายไฟล์ทั้งหมดไปยังโฟลเดอร์หลักโดยพิมพ์:
1 |
[ ec2 - user ~ ] $ mv * . * . . |
สร้างไฟล์ WordPress wp-config.php:
1 2 3 |
[ ec2 - user ~ ] $ cd blog [ ec2 - user ~ ] $ mv wp - config - sample . php wp - config . php [ ec2 - user ~ ] $ vi wp - config . php |
- พิมพ์
i
เพื่อเริ่มโหมดแทรก
แก้ไขพารามิเตอร์การเชื่อมต่อฐานข้อมูลดังนี้:
1 2 3 4 |
define ( ‘ DB_NAME ’ , ‘ blog ’ ) ; define ( ‘ DB_USER ’ , ‘ root ’ ) ; define ( ‘ DB_PASSWORD ’ , ‘ YOUR_PASSWORD ’ ) ; define ( ‘ DB_HOST ’ , ‘ localhost ’ ) ; |
- กด
esc
หนึ่งครั้งจากนั้น - พิมพ์
:wq
เพื่อเขียนไฟล์และออกจาก vi
เปิดเบราว์เซอร์และเข้าถึงบล็อกของคุณ:
1 |
http : //ec2-50-17-15-27.compute-1.amazonaws.com/blog (Use your public DNS name). |
สิ่งนี้ควรเปิดกระบวนการกำหนดค่าการติดตั้ง WordPress
เคล็ดลับ: เพื่อให้ WordPress ใช้ลิงก์ถาวร
ลิงก์ถาวรของ WordPress ต้องใช้ไฟล์ Apache .htaccess เพื่อให้ทำงานได้อย่างถูกต้อง แต่ไม่ได้เปิดใช้งานตามค่าเริ่มต้นใน Amazon Linux ใช้ขั้นตอนนี้เพื่ออนุญาตการแทนที่ทั้งหมดในรูทเอกสาร Apache
เปิดไฟล์ httpd.conf ด้วยโปรแกรมแก้ไขข้อความที่คุณชื่นชอบ (เช่น nano หรือ vim) หากคุณไม่มีโปรแกรมแก้ไขข้อความที่ชื่นชอบ nano จะง่ายกว่ามากสำหรับผู้เริ่มต้นใช้งาน
1 |
[ ec2 - user wordpress ] $ sudo vim / etc / httpd / conf / httpd . conf |
ค้นหาส่วนที่ขึ้นต้นด้วย <Directory “ /var/www/html
“>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
< Directory "/var/www/html" > # # Possible values for the Options directive are "None", "All", # or any combination of: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Note that "MultiViews" must be named *explicitly* --- "Options All" # doesn't give it to you. # # The Options directive is both complicated and important. Please see # http://httpd.apache.org/docs/2.4/mod/core.html#options # for more information. # Options Indexes FollowSymLinks # # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride None # # Controls who can get stuff from this server. # Require all granted < / Directory > |
เปลี่ยน AllowOverride None
ในส่วนด้านบนเพื่ออ่าน AllowOverride All
บันทึก:
มี AllowOverride
หลายบรรทัดในไฟล์นี้ อย่าลืมเปลี่ยนบรรทัดในส่วน <Directory "/var/www/html"
>
1 |
AllowOverride All |
- บันทึกไฟล์และออกจากโปรแกรมแก้ไขข้อความของคุณ
8. แผนที่ที่อยู่ IP และชื่อโดเมน
ในการใช้บล็อกของคุณในการผลิต คุณจะต้อง:
- เชื่อมโยงที่อยู่ IP กับอินสแตนซ์ของคุณ
- จับคู่ชื่อโดเมนของคุณกับที่อยู่ IP นั้น
- ในการเชื่อมโยงที่อยู่ IP กับอินสแตนซ์ของคุณ:
ขั้นตอน:
- ใน AWS Management Console ให้คลิก Elastic IPs (แถบนำทางด้านซ้าย)
- คลิก จัดสรรที่อยู่ใหม่ และยืนยันโดยคลิกปุ่ม “ใช่ จัดสรร”
- คลิกขวาที่ที่อยู่ IP ที่จัดสรรใหม่และเลือก "เชื่อมโยง" ในเมนูป๊อปอัป เลือกอินสแตนซ์ที่คุณเพิ่งสร้างและคลิก "ใช่ เชื่อมโยง"
- ในการแมปชื่อโดเมนของคุณกับที่อยู่ IP คุณจะต้องใช้เครื่องมือที่ผู้ให้บริการจดทะเบียนโดเมนของคุณให้มา
- หากคุณใช้ GoDaddy ให้ระบุ NS73.DOMAINCONTROL.COM และ NS74.DOMAINCONTROL.COM เป็นเนมเซิร์ฟเวอร์สำหรับโดเมนของคุณ และใช้ DNS Manager เพื่อแก้ไขระเบียน A และชี้ไปที่ที่อยู่ IP ของคุณ
- เมื่อทุกอย่างได้รับการกำหนดค่าและจับคู่อย่างถูกต้องแล้ว ให้เข้าถึงการตั้งค่าทั่วไปในคอนโซลการจัดการ WordPress และตรวจสอบให้แน่ใจว่าได้ระบุที่อยู่ WordPress และที่อยู่เว็บไซต์อย่างถูกต้องโดยใช้ชื่อโดเมนของคุณ
วิธีอื่น: ในการเปลี่ยน URL ไซต์ WordPress ด้วย wp-cli
จด URL ไซต์เก่าและ URL ไซต์ใหม่สำหรับอินสแตนซ์ของคุณ URL ของไซต์เก่าน่าจะเป็นชื่อ DNS สาธารณะสำหรับอินสแตนซ์ EC2 ของคุณเมื่อคุณติดตั้ง WordPress URL ไซต์ใหม่เป็นชื่อ DNS สาธารณะปัจจุบันสำหรับอินสแตนซ์ EC2 ของคุณ
หากคุณไม่แน่ใจเกี่ยวกับ URL ของเว็บไซต์เก่า คุณสามารถใช้ curl เพื่อค้นหาโดยใช้คำสั่งต่อไปนี้
1 |
[ ec2 - user ~ ] $ curl localhost | grep wp - content |
คุณควรเห็นการอ้างอิงถึงชื่อ DNS สาธารณะเก่าของคุณในเอาต์พุต ซึ่งจะมีลักษณะดังนี้ (URL ของไซต์เก่าเป็นสีแดง):
1 |
<script type = 'text/javascript' src = http : //ec2-50-17-15-27.compute-1.amazonaws.com/blog/wp-content/themes/twentyfifteen/js/functions.js?ver=20150330'></script> |
ดาวน์โหลด wp-cli ด้วยคำสั่งต่อไปนี้
1 |
[ ec2 - user ~ ] $ curl - O https : //raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar |
ค้นหาและแทนที่ URL ไซต์เก่าในการติดตั้ง WordPress ของคุณด้วยคำสั่งต่อไปนี้ แทนที่ URL ของไซต์เก่าและใหม่สำหรับอินสแตนซ์ EC2 ของคุณและเส้นทางไปยังการติดตั้ง WordPress ของคุณ (โดยปกติคือ /var/www/html
หรือ /var/www/html/blog
)
1 |
[ ec2 - user ~ ] $ php wp - cli . phar search - replace 'old_site_url' 'new_site_url' -- path =/ path / to / wordpress / installation -- skip - columns = guid |
ในเว็บเบราว์เซอร์ ให้ป้อน URL ไซต์ใหม่ของบล็อก WordPress เพื่อตรวจสอบว่าไซต์ทำงานอย่างถูกต้องอีกครั้ง
แค่นั้นแหละ.
คุณได้สร้าง สภาพแวดล้อม LAMP และติดตั้ง WordPress บน Amazon EC2 เรียบร้อยแล้ว หากคุณได้รับข้อผิดพลาดประเภทใดหรือติดขัดในงานบางอย่าง โปรดแจ้งให้เราทราบโดยแสดงความคิดเห็นที่นี่
เราจะพยายามอย่างเต็มที่เพื่อแก้ไขปัญหาของคุณ