ติดตั้ง Nginx เพื่อใช้งานร่วมกับ Apache2

24 Jun 2016

Share to:

ในปัจจุบันมี web server อยู่สองเจ้าที่ได้รับความนิยมคือ apache2 และ nginx สองเจ้านี้จะมีขอดีข้อเสียงต่างกัน nginx จะมีข้อดีคือ สามารถรองรับ user concurrent และ request static file ได้ดีกว่า apache2 ส่วน apache2 มีข้อดีคือ PHP ซึ่ง PHP ของ nginx นั้น จะทำงานผ่านโมดูล FastCGI อีกทีหนึ่ง  ซึ่งจะได้ Performance ที่ช้ากว่า mod_php ของ apache2 ที่ทำงานแบบ

Native จึงนิยมนําทั้งสองตัวมาทํางานร่วมกันคือ ถ้า user เรียก static file  เช่น ไฟล์ภาพ html … จะเป็นหน้าที่ของ nginx แต่ถ้า user เรียกไฟล์ php ก็จะเป็นหน้าที่ของ apache2 เพื่อเพิ่มประสิทธิภาพของ web server

ขั้นตอนการติดตั้ง nginx

ติดตั้ง nginx ด้วยคําสั่ง

sudo apt-get install nginx -y

เปิดไฟล์ “default” เพื่อแก้ไขค่า config ของ web server ด้วยคําสั่ง

sudo nano /etc/nginx/sites-available/default

แก้ไขค่า config ตามนี้

server {
 listen 80 default_server;
 listen [::]:80 default_server ipv6only=on;

 root /var/www; #ใส่ path ที่อยู่ของเว็บที่ต้องการ
 index index.php index.html index.htm; #ชื่อไฟล์ index

 server_name localhost; #Domain name ของเว็บเรา เช่น thitiblog.com

 location / { #กรณีที่เรียกไฟล์ภายใต้ root path จะทําตาม script ด่านล่าง
  #pass proxy ไปที่ apache2(127.0.0.1:8080)
  proxy_set_header X-Real-IP  $remote_addr;
  proxy_set_header X-Forwarded-For $remote_addr;
  proxy_set_header Host $host;
  proxy_pass http://127.0.0.1:8080;
 }

 #กรณีที่เรียกไฟล์ static file ต่างๆจะใช้ nginx ในการประมวลผล
 #ไม่pass proxy ไปที่ apache2
 location ~* ^.+.(pdf|gif|jpg|jpeg|png|ico|wmv|3gp|avi|mpg|mpeg|mp4|flv|mp3|mid|js|css|html|htm|wml)${

 }

}

เปิดการใช้งาน gzip ในการบีบอัดไฟล์ก่อนส่งมาที่ Browserด้วยคําสั่ง

sudo nano /etc/nginx/nginx.conf

แก้ตามนี้

gzip on;
gzip_disable "msie6";
gzip_vary on;
# gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

เสร็จสิ้นการติดตั้ง nginx ขั้นตอนต่อไป ติดตั้ง apache2

ติดตั้ง Apache2 และ config เพื่อใช้งานร่วมกับ nginx

ในบทความนี้จะไม่อธิบายวิธีการติดตั้ง apache2 เพราะได้เขียนไว้แล้วสามารถอ่านเพิ่มเติมได้ที่ วิธีติดตั้ง Apache, MySQL, PHP, phpMyAdmin ใน Ubuntu เมื่อติดตั้งทุกอย่างเรียบร้อยก็ config port ของ apache2 ให้เป็น port 8080 ตามที่เราได้ pass proxy ของ nginx ไว้ในตอนต้น

sudo nano /etc/apache2/ports.conf

แก้จากเดิม 80 เป็น 8080

Listen 8080

สร้าง file config VirtualHost ของ apache2 ด้วยคําสั่ง

sudo nano /etc/apache2/sites-available/myconfig

myconfig เป็นชื่อของ file config เราสามารถตั้งได้ตามต้องการ ใส่ script ดังนี้ โดยเปลี่ยนข้อมูลตามเว็บของท่าน

<VirtualHost *:8080>
        DocumentRoot /var/www #path ที่อยู่ของเว็บ
        ServerAdmin [email protected]
        ServerName thitiblog.com
        ServerAlias thitiblog.com *.thitiblog.com #Domain name
        <Directory /var/www>
                Options Indexes FollowSymLinks
                AllowOverride all
                Require all granted
        </Directory>
        ErrorLog ${APACHE_LOG_DIR}/error-thitiblog.log
        CustomLog ${APACHE_LOG_DIR}/access-thitiblog.log combined
</VirtualHost>

save โดยกด Ctrl+x แล้วกด y เปิดใช้งาน script config เมื่อซักครู่นี้โดยใช้คําสั่ง

sudo a2ensite myconfig

เปิด gzip Compression ของ php

sudo nano /etc/php5/apache2/php.ini

แก้ตรงหัวข้อ

zlib.output_compression = On

Restart service nginx and apache2

sudo service nginx restart
sudo service apache2 restart

Suggestion blogs

เรื่อง config login ssh ของ user root

สําหรับบทความนี้เป็นบทความสั้นๆนะครับ เป็นเรื่องเกี่ยวกับการ config เพื่อกําหนดการ login ssh ของ user root โดยเราจะแก้ไข file config นี้ "/etc/ssh/sshd_config" ผมจะแบ่งการ config เป็นสองหัวข้อคือ

Arduino ตอน9 วิธีใช้ Analog output (PWM) ใน arduino

สวัสดีครับ วันนี้เราจะมาเรียนรู้การใช้งาน Analog output หรือ PWM ใน Arduino กันครับ โดยปกติแล้ว Arduino จะทํางานกับข้อมูลหรือ I/O ที่เป็นแบบ Digital HIGH/LOW (0V/5V) แต่ในบางกรณีเราอาจจําเป็นต้องใช้งาน I/O ที่เป็นแบบ Analog (0v, 1V, 2V...5V) เพื่อใช้ควบคุมอุปกรณ์ที่เป็นแบบ Analog เช่น ความสว่างของหลอดไฟ, ควบคุมความเร็วของ Motor ฯลฯ

ปรับแต่ง Apache web server

วิธีการปรับแต่ง apache คือ แก้ไขไฟล์ "/etc/apache2/apache2.conf" หรือถ้าเป็น version เก่า httpd.conf ภายในไฟล์จะมีค่าต่างๆให้ config มากมาย แต่เราจะมาดูในหัวข้อที่สําคัญๆดังนี้ครับ


Copyright © 2019 - 2024 thiti.dev |  v1.19.0 |  Privacy policy |  status | 

            วงแหวนเว็บ