2016年7月31日 星期日

在 CentOS7/RHEL7 上架設 Nginx Web Server(二)

設定目標:
  • 在 Centos 7 上架設 Nginx 1.10.1 + Php 7.0 (Remi) 套件!
Nginx Web Server 快速設定流程:
  1. 編寫最新的 Nginx 套件位置:
    #vim /etc/yum.repos.d/nginx.repo
    [nginx]
    name=nginx repo
    baseurl=http://nginx.org/packages/centos/7/$basearch/
    gpgcheck=0
    enabled=1
    
  2. 安裝最新的 Nginx 套件:
    # yum install nginx-*
    
  3. 開啟防火牆:
    # firewall-cmd --permanent --add-service=http
    # firewall-cmd --reload
    
  4. 啟動 Nginx 服務:
    #systemctl enable nginx.service
    #systemctl start nginx.service
    #systemctl status nginx.service -l
    
PHP 7 (Remi) 快速設定流程:
  1. 安裝 Remi 套件的 repo 檔案:
    #wget http://rpms.remirepo.net/enterprise/remi-release-7.rpm
    #rpm -Uvh remi-release-7.rpm
    
  2. 安裝 PHP 7.0 套件:
    # yum install php70 php70-php-fpm php70-php-mbstring php70-php-mcrypt php70-php-gd
    
  3. 修改 php-fpm 設定檔:
    #vim /etc/opt/remi/php70/php-fpm.d/www.conf
    user = nginx
    group = nginx
    listen = /var/run/php-fpm.sock
    listen.owner = nginx
    listen.group = nginx
    listen.mode = 0666
    
  4. 啟動 php-fpm 服務:
    # systemctl enable php70-php-fpm.service
    # systemctl start php70-php-fpm.service
    
  5. 修改 Nginx 設定檔:
    # vim /etc/nginx/conf.d/default.conf
    (修改下列設定:)
        access_log  /var/log/nginx/access.log  main;
        error_log /var/log/nginx/error.log warn;
        
        location / {
            root   /usr/share/nginx/html;
            index  index.php index.html index.htm;
        }
    
        location ~ \.php$ {
            root           /usr/share/nginx/html;
        #    fastcgi_pass   127.0.0.1:9000;
            fastcgi_pass unix:/var/run/php-fpm.sock;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
        :
        :
    
  6. 動新啟動 nginx:
    #systemctl restart nginx.service
    
  7. 開啟 SELinux 設定:
    #setsebool -P httpd_can_network_connect on
    

2016年7月30日 星期六

在 CentOS7/RHEL7 上使用 Collectd 套件

設定目標:
  • 即時監控系統資源運作情形!
快速設定流程:
  1. 利用 yum 進行相關套件安裝:
    #yum -y install collectd.x86_64 collectd-web collectd-rrdtool collectd-notify_email
    
  2. 啟動 Collectd 服務:
    #systemctl enable collectd
    #systemctl start collectd
    
  3. 複製 Collectd 的網頁檔案至網頁目錄:
    #cd /usr/share/nginx/html/
    #git clone https://github.com/pommi/CGP.git
    #mv CGP Collectd
    
  4. 打開 Firefox 查看網頁即可!
    # firefox http://localhost/Collectd
    
    ※注意:本次實作未考慮 SELinux 的影響!
  5. 若考慮 SELinux 的限制,需使用下列指令:
    #setenforce 0
    # grep php-fpm /var/log/audit/audit.log | audit2allow -M mypol
    # semodule -i mypol.pp
    # grep rrdtool /var/log/audit/audit.log | audit2allow -M mypol
    # semodule -i mypol.pp
    #setenforce 1
    
    ※注意:上述步驟需要不停的重試,直到網站運作正常為止!
Plugin套件快速設定流程:
※以收集 Nginx 連線資料為例:
  1. 安裝 Nginx for Collectd 套件:
    #yum -y install collectd-nginx
    
  2. 查詢 nginx 是否有支援 stub_status 模組:
    #nginx -V 2>&1 | sed 's,--,n--,g' | grep stub_status
    
  3. 修改 Collectd 設定檔:
    #vim /etc/collectd.d/nginx.conf
    <LoadPlugin nginx>
          URL "http://192.168.5.104/nginx_status?auto"
          User "nginx"
    #      Password "secret"
    #      CACert "/etc/ssl/ca.crt"
    </plugin>
    
    
  4. 修改 Nginx 設定檔:
    # vim /etc/nginx/conf.d/default.conf
    (追加設定:)
    location /nginx_status {
          stub_status on;
          access_log off;
          allow 192.168.4.0/23;
          deny all;
        }
    
    
  5. 重新啟動相關服務
    #systemctl restart collectd
    #systemctl restart nginx
    
  6. 設定 SELinux:
    #setsebool -P collectd_tcp_network_connect on
    
  7. 打開 firefox 查看結果!

參考文獻:

2016年7月29日 星期五

在 CentOS7/THEL7 上最佳化 Nginx Web Service

參考文獻:

  1. http://www.linuxde.net/2013/08/15150.html#comments
  2. https://blog.longwin.com.tw/2013/02/nginx-add-worker_connections-2013/

2016年7月26日 星期二

在 CentOS7/RHEL7 上安裝 MariaDB 10.1

快速設定流程:
  1. 編寫 yum 檔案:
    #vim /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
    
  2. 安裝 MariaDB 10.1 套件:
    #yum install MariaDB-*
    
  3. 啟動 MariaDB :
    # systemctl enable mariadb
    # systemctl start mariadb
    
  4. 啟動防火牆設定:
    # firewall-cmd --permanent --add-service=mysql
    # firewall-cmd --reload
    
  5. 始初化 MariaDB 的 root 密碼:
    #  mysql_secure_installation
    
參考網址:
  • https://mariadb.com/kb/en/mariadb/yum/
  • 2016年7月25日 星期一

    在 CentOS7/RHEL7 上架設 Piwik

    設定目標:
    • 在 Centos 7 上安裝 Piwik 套件,監控 Web 主機網路流量!
      • 請參考這一篇的設定,架設好 Web Server!
      • 請參考這一篇的設定,架設好 Mariadb Server !
    快速設定流程:

    1. 上網抓下 piwik 套件:
      #wget https://builds.piwik.org/piwik.zip
      
    2. 解開 piwik 套件:
      #unzip piwik.zip
      
    3. 建立 piwik 快取目錄:
      # mkdir -p /var/www/html/piwik/tmp/cache/tracker/
      # chmod -R 777 /var/www/html/piwik/tmp/
      
    4. 利用 firefox 來進行安裝 piwik 的工作:
      #firefox 127.0.0.1/piwik
      

    5. 開始進行安裝畫面:

    6. 按照網頁上的要求,給予適當的設定:

    7. 輸入 MySQL 資料庫相關設定:

    8. 設定好資料庫相關資料後,會建行表格建立:

    9. 輸入管理者帳密:

    10. 輸入站台相關資料:

    11. Piwik 團隊提醒使用者,為了方便追踪流量,可以把下列程式,放入網頁程式入!如果需要用於大流量的網站,必須要求助 Piwik 團隊,他們會給予更快的程式碼!

    12. 安裝完成:

    13. 登入畫面的介面:

    參考文獻:

    1. https://piwik.org/docs/installation/

    2016年7月23日 星期六

    Linux 系統效能監控

    參考文獻:

    1. https://www.nagios.org/projects/
    2. http://www.brendangregg.com/linuxperf.html
    3. http://www.cyberciti.biz/tips/top-linux-monitoring-tools.html
    4. https://en.wikipedia.org/wiki/List_of_performance_analysis_tools
    5. http://techblog.netflix.com/2015/11/linux-performance-analysis-in-60s.html
    6. http://www.drupal001.com/2012/07/system-monitor-collectd/
    7. http://www.tecmint.com/linux-performance-monitoring-with-collectl-tool/

    Nginx 的監控程式

    網路資源:

    1. https://www.datadoghq.com/blog/how-to-collect-nginx-metrics/
    2. https://www.datadoghq.com/blog/how-to-monitor-nginx/
    3. https://blog.serverdensity.com/monitor-nginx/
    4. https://easyengine.io/tutorials/nginx/status-page/
    5. https://www.scalyr.com/community/guides/how-to-monitor-nginx-the-essential-guide
    6. http://www.slideshare.net/serverdensity/how-to-monitor-nginx

    2016年7月8日 星期五

    在 CentOS7/RHEL7 上架設 Nginx Web Server(四)

    設定目標:
    • 設定 Nginx Web Server,架設 Reverse Proxy Server 服務!

    事前準備:
    • 請先參考這一篇文件,架設好 Nginx Web Server!

    快速設定流程:
    1. 編寫 Nginx 預設設定檔:
      #vi /etc/nginx/nginx.conf
      (註解以下設定:)
      # server {
         :
         :
      #  }
      
    2. 編寫 for proxy 的設定檔:
      #vi /etc/nginx/conf.d/proxy.conf
      upstream proxy {
          server 192.168.5.61:80;
      }
      
      server {
          listen      80 default;
          server_name www.example.com;
      
          access_log  /var/log/nginx/jenkins.access.log;
          error_log   /var/log/nginx/jenkins.error.log;
      
          proxy_buffers 16 64k;
          proxy_buffer_size 128k;
      
          location / {
              proxy_pass  http://proxy;
              proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
              proxy_redirect off;
      
              proxy_set_header    Host            $host;
              proxy_set_header    X-Real-IP       $remote_addr;
              proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
              proxy_set_header    X-Forwarded-Proto https;
          }
      }
      
    3. 啟動 Nginx :
      #systemctl enable nginx.service
      #systemctl start nginx.service
      
    4. 啟動防火牆:
      #firewall-cmd --permanent --add-service=http
      #firewall-cmd --reload
      

    參考文獻:

    1. https://www.nginx.com/resources/admin-guide/reverse-proxy/
    2. http://shazi.info/centos-6-%E5%BB%BA%E7%AB%8B-nginx-reverse-proxy/
    3. https://www.twstar.biz/43151.html
    4. http://icodding.blogspot.tw/2015/08/nginx.html
    5. https://snippetinfo.net/media/671/
    6. https://deviantengineer.com/2015/05/nginx-reverseproxy-centos7/
    7. https://www.rosehosting.com/blog/install-and-configure-jenkins-with-nginx-as-a-reverse-proxy-on-centos-7/

    2016年7月7日 星期四

    KVM 教學文件


    1. https://jerry2yang.wordpress.com/2011/11/24/%E4%BF%AE%E6%94%B9%E8%99%9B%E6%93%AC%E6%A9%9Fkvmqemu%E7%A1%AC%E9%AB%94%E8%A8%AD%E5%AE%9A-with-virsh-management-user-interface/
    2. http://blog.changyy.org/2013/10/linux-virsh-snapshot-kvm-ubuntu-1204.html
    3. http://linuxkvm.blogspot.tw/2011/05/linux-kvm_15.html
    4. http://www.lijyyh.com/2015/12/linux-kvm-set-up-linux-kvm.html
    5. https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Virtualization_Host_Configuration_and_Guest_Installation_Guide/App_Domain_Monitor_Socket.html
    6. http://chimerhapsody.blogspot.tw/2013/03/kvm-kernel-based-virtual-machine.html

    2016年7月6日 星期三

    用 CentOS7/RHEL7 架設 Redis Cluster Servers

    參考文獻:

    1. http://blog.csdn.net/dc_726/article/details/48552531
    2. http://redis.io/topics/replication
    3. https://www.digitalocean.com/community/tutorials/how-to-configure-a-redis-cluster-on-ubuntu-14-04
    4. https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-redis-on-ubuntu-16-04

    2016年7月5日 星期二

    在 CentOS7/RHEL7 上安裝 Memcached 套件

    安裝前注意事項:
    • 基本 Web 站台設定,請參考這一篇文章!
    • 若想使用 Nginx 當 Web 運作平台,請參考這一篇文章!
    基本安裝流程 (在 Apache Web 平台上):
    1. 安裝 Memcached 套件:
      #yum install memcached
      
    2. 檢查設定檔內容:
      #vim /etc/sysconfig/memcached
      PORT="11211"         ##使用埠號 11211
      USER="memcached"
      MAXCONN="1024"       ##最大連線使用數
      CACHESIZE="512"       ##使用 512MB 記憶體
      OPTIONS=""
      
    3. 啟動 Memcached 套件:
      #systemctl enable memcached
      #systemctl start memcached
      
    4. 開啟防火牆設定:
      #firewall-cmd --permanent --add-port=11211/tcp
      #firewall-cmd --reload
      
    5. 讓 php 套件使用 memcached ,需安裝下列套件:
      #yum -y install php-pecl-memcache
      
    6. 重新啟動 Apache Web Server:
      #systemctl restart httpd
      

    在 Ngnix 平台上的應用:
    1. 修改 Nginx 設定檔:
      #vim /etc/nginx/conf.d/default.conf
      
      server {
         :
         (加入以下的設定值:)
         :
         location ^~ /cache/ {
              set            $memcached_key $request_uri;
              memcached_pass 127.0.0.1:11211;
          }
          :
          :
      }
      
    2. 重新啟動 Nginx :
      #systemctl restart nginx
      
    3. ※注意:參考資料~~~
      • http://nginx.org/en/docs/http/ngx_http_memcached_module.html
      • http://blog.octo.com/en/http-caching-with-nginx-and-memcached/
      • http://www.ttlsa.com/nginx/application-of-nginx_memcached-to-construct-the-page-cache/
      • http://www.icyfire.me/2014/11/30/use-nginx-and-memcached-to-cache-pages.html

    安裝 phpMemcachedAdmin 套件
    • 下載 phpMemcachedAdmin 套件:
      #cd /var/www/html
      #wget http://phpmemcacheadmin.googlecode.com/files/phpMemcachedAdmin-1.2.2-r262.tar.gz
      
    • 解壓縮 phpMemcachedAdmin 套件:
      #mkdir phpMemcachedAdmin
      #tar zxvf phpMemcachedAdmin-1.2.2-r262.tar.gz -C phpMemcachedAdmi
      
    • 設定相關權限:
      #chown -R apache.apache phpMemcachedAdmin
      #restorecon -R /var/www/html
      #setsebool -P httpd_can_network_memcache on
      #setsebool -P httpd_unified on
      #grep httpd /var/log/audit/audit.log | audit2allow -M http
      #semodule -i httpd.pp
      
    • 重新啟動 Apache Web Server:
      #systemctl restart httpd
      
    • 利用 Firefox 查看網頁:
      http://127.0.0.1/phpMemcachedAdmin/
    參考文獻:
    1. http://www.phpini.com/php/rhel-centos-7-install-php-memcached
    2. http://www.liquidweb.com/kb/how-to-install-the-memcached-php-extension-on-centos-7/
    3. http://www.liquidweb.com/kb/how-to-install-memcached-on-centos-7/
    4. https://devops.profitbricks.com/tutorials/install-and-configure-memcached-on-centos-7/
    5. http://blog.elijaa.org/phpmemcachedadmin-installation-guide/
    6. http://www.techoism.com/install-phpmemcachedadmin-on-linux/

    2016年7月4日 星期一

    XFS 檔案系統與 LVM

    LVM 的使用
    • 查看系統內容:
      #lvs
      #pvs
      #vgs
      

    參考資料:
    • http://jamyy.us.to/blog/2015/09/7673.html
    • http://dywang.csie.cyut.edu.tw/dywang/rhel7/node60.html