每一個可以努力的日子,都是一份厚禮。
Nginx
使用 GitHub / GitLab 的 Webhooks 進行網站自動化部署
2015 1月 19th
老早就想寫這個話題了,今天正好有機會研究了一下 git 的自動化部署。最終做到的效果就是,每當有新的 commit push 到 master 分支的時候,就自動在測試/生產服務器上進行 git pull 拉取最新的代碼,免去了程序猿兼職運維 ssh 上去拉代碼部署的重複性工作。我們也要 Agile development 不是?什麼敏捷開發啊,極限編程啊,快速迭代啊,持續集成啊,精益創業啊,口號怎麼高端怎麼來,最後就是寫了個自動化腳本……
Ngnix 配置完美支持 WordPress Super Cache 插件
2012 9月 1st
WordPress 大概是這個星球上使用得最多的博客程序了,甚至很多資訊、社區等非博客網站也在使用 WordPress。據統計,在全球排名 100 萬以內的網站中,約有 14.7% 是利用 WordPress 程序搭建。令人震驚的是,維護整個 WordPress 運營和升級的團隊核心成員,不足 20 人。大量的志願者在為這個生態系統貢獻精美的主題、實用的插件。
然而,為了保證靈活的可擴展性,Wordpress 犧牲了性能,它因為速度低下而廣受詬病,很多空間商也為此頭疼 —— 當訪問量很大的時候,臃腫的 WordPress 站點消耗了服務器太多CPU和內存資源。我曾經總結過提高網站性能的方法,其中最有效的手段就是靜態化了。
使用 WP Super Cache 插件可以幫助 WordPress 網站實現頁面靜態化,可惜的是 supercache 默認沒有提供對 Ngnix 服務器的支持。
VPS 屏蔽掃描網站的 IP
2012 8月 17th
前段時間博客經常性地無法訪問,網站宕機。SSH 上去看進程,發現大量 php-fpm 佔用系統資源,查看服務器的 Nginx 日誌,就知道發生了什麼事情。個別 IP “友情”為我的站點掃描漏洞,瞬時並發連接很大。我知道大家也沒什麼惡意,只是用黑客工具比較興奮,拿 www.lovelucy.info 練練手而已嘛。但是博主很窮,小站搭建在一個配置並不高的免費 VPS 上,折騰不起,壓力很大,結果一不小心讓各位搞成 DoS 拒絕服務攻擊了,真是慚愧。
使用 Nginx 的 X-Sendfile 機制提升 PHP 文件下載性能
2012 6月 20th
很多時候用戶需要從網站下載文件,如果文件是可以通過一個固定鏈接公開獲取的,那麼我們只需將文件存放到 webroot 下的目錄里就好。但大多數情況下,我們需要做權限控制,例如下載 PDF 賬單,又例如下載網盤裡的檔案。這時,我們通常藉助於腳本代碼來實現,而這無疑會增加服務器的負擔。
Nginx配置SSL證書部署HTTPS網站
2011 10月 1st
Nginx和PHP-FPM的啟動/重啟腳本
2011 9月 8th
服務器上的Nginx和PHP都是源碼編譯安裝的,不像ubuntu一樣有自帶service啟動腳本,所以不支持類似以前的nginx (start|restart|stop|reload)了。自己動手豐衣足食。以下腳本應該在RHEL, Fedora, CentOS下都適用。
一、Nginx啟動腳本/etc/init.d/nginx
Nginx PHP-FPM 驗證碼無法顯示故障排查
2011 7月 2nd
網站遷移至Nginx php-fpm下運行,發現驗證碼顯示紅叉,無法使用。檢查phpinfo(),確定GD模塊已經加載。查看日誌,發現報錯
PHP Fatal error: Call to undefined function imagettfbbox() in …
網站由Apache遷移至Nginx + FastCGI步驟
2011 7月 1st
一、安裝Nginx
源碼安裝
yum pcre-devel wget http://nginx.org/download/nginx-1.0.4.tar.gz tar zxvf nginx-1.0.4.tar.gz cd nginx-1.0.4/ ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module make make install |
- 默認配置文件在<prefix>/conf/nginx下
- 程序文件在<prefix>/sbin/nginx
- 日誌放在了<prefix>/logs/