發表文章

目前顯示的是有「架站」標籤的文章

[架站] Firebase 入門教學:從零開始打造免費 Firestore 網頁應用

如果你是剛踏入 Web 開發的初學者,卻希望快速做出「有後端、有資料庫」的網站,那麼 Firebase 是最值得開始的工具之一。本篇文章會用最白話的方式,帶你理解 Firebase 是什麼,並一步一步建立一個 完全免費的 Firestore 網頁應用 。 什麼是 Firebase? Firebase 是 Google 推出的雲端開發平台,提供完整的後端服務(Backend as a Service, BaaS)。 它最大的優勢是: 不需要自己架設伺服器 不需要管理資料庫 前端就可以直接操作資料 提供免費方案(Spark Plan) Firebase 可以幫你完成: 即時資料庫(Firestore) 使用者登入系統 網站託管 Hosting 推播通知 分析與監控 簡單說: Firebase = 幫你把後端全部準備好 什麼是 Firestore? Firestore 是 Firebase 提供的雲端 NoSQL 資料庫。 特色: JSON 結構儲存資料 即時同步 可直接從前端存取 免費額度很夠初學者使用 Firestore 資料結構: Collection(集合) └─ Document(文件) └─ Fields(欄位) 免費方案可以用到什麼? Firebase 免費 Spark Plan 提供: Firestore 50,000 次讀取/天 20,000 次寫入/天 Hosting 靜態網站 基本登入功能 做學習專案完全足夠。 開始實作:建立 Firestore 網頁應用 Step 1:建立 Firebase 專案 前往 Firebase Console 點擊「建立專案」 輸入專案名稱,例如: firestore-demo 關閉 Google Analytics(可省略) 建立完成 Step 2:建立 Web App 進入專案首頁 點擊「</> Web」圖示 輸入 App 名稱 不要勾選 Hosting(之後再做) 取得 Firebase SDK 設定 你會看到類似這...

[Linux][架站] Ubuntu 16.04 apache 如何設定反向代理(Reverse Proxy)

假設我們有兩個網址 https://site1.myweb.com 及 https://site2.myweb.com, 我們希望使用者連到 site1 時,顯示 site2 的內容,就可以使用反向代理(Reverse Proxy)來達成。 什麼情形會需要這樣的設定呢?舉例來說:site2 是舊版本的 apache 只支援到 TLS 1.0,在無法升級 site2 主機的前提下,可以透過反向代理,來讓擁有新版 apache(支援 TLS 1.1 & 1.2) 的 site1 當作 site2 的入口。 反向代理(Reverse Proxy) 的設定如下...

[Linux][架站] Ubuntu 16.04 如何啟用SSL 讓網址支援 https://

參考  [Linux][架站] ubuntu 16.04 如何設定 apache 的 VirtualHost 可以架起 http:// 的網站,如果將 url 改成 https:// 會出現"無法連上這個網站"的畫面,因為 server 目前沒有監聽 443 port (可用 #netstat -nlpt 查看 有沒有443),這時需先啟用 ssl,如下: $sudo su - #a2enmod ssl #service apache2 restart 檢查一下 server 有沒有監聽 443 port。 #netstat -nlpt 應該就會看到 443 了,這時url輸入 https:// 會出現跟剛剛不一樣的訊息 "這個網站無法提供安全連線",那是因為我們沒有憑證。 申請憑證需要費用,以 GoDaddy 的憑證為例,付費後會得到三個檔案(兩個crt、一個key),需要放在 server 指定位置上,如下: /etc/ssl/certs/myweb.com.crt /etc/ssl/certs/gd_bundle-g2-g1.crt /etc/ssl/private/myweb.com.key (可以用從別台已經有SSL的主機,用SCP將憑證複製過去 舉例: #scp /etc/ssl/certs/myweb.com.crt  root@172.31.0.99:/etc/ssl/private/  PS.因為需要用root來執行scp 請先參考  Ubuntu 如何使用 root 連 ssh 或 scp  ) 有這三個檔案後才能正式進入設定的階段,步驟如下...

[Linux][架站] Ubuntu 16.04 如何設定 apache 的 VirtualHost

當我們剛建好 ubuntu 16.04 的 apache server 時,預設網站目錄在 /var/www/html 下,假設我們想要將網站目錄放在 /var/www/site.myweb.com 下,設定方式如下...

[Linux][PHP][架站][Laravel] ubuntu 16.04 上安裝 PHP 7.2 以及 Lavarel (5.5~6.X)

圖片
Step 1. 安裝最基本的 ubuntu 16.04 預設值安裝即可 (可以直接選裝 OpenSSH server 或 之後自己手動安裝也可以) Step 2. 更新 及 安裝zip (之後所有安裝步驟都在家目錄即可) $sudo apt-get update $sudo apt-get dist-upgrade $sudo apt-get install zip unzip Step 3. 加入軟體相依性 因為 Ubuntu 的專案庫並未提供最新版的PHP,所以我們必需利用社群維護的專案庫(PPA)來額外擴充,其中提供最新版 PHP 的 PPA 名為 ppa:ondrej/php 在這之前,我們必需先確認 add-apt-repository 執行檔可以被使用 $sudo apt-get install python-software-properties 加入最新版 PHP 的軟體來源到專案庫 $sudo add-apt-repository ppa:ondrej/php 專案庫更新 $sudo apt-get update Step 4. 安裝 PHP $sudo apt-get install php7.2 確認 PHP 版本 $php -v Step 5. 安裝 PHP extension 因為 PHP 7.2 可以安裝 Laravel 6.X 以下的版本,所以可以在建立 Laravel 專案時,視需求指定 Laravel 版本,但要注意每個版本需搭配的 PHP 元件(extension) 有些許差異,舉例來說, Laravel 官網文件 5.6 的安裝必需條件 如下 可先用 phpinfo() 來檢查哪些 extension 還沒安裝,沒意外的話 除了 mbstring 及 xml 以外,應該都已經安裝且 enabled,所以只要把 mbstring 及 xml 再加上 zip 裝起來,就可以了。 $sudo apt-get install php7.2-mbstring php7.2-xml php7.2-zip mysql 預設是沒有安裝的,如果會用到請再執行。 $sudo apt-get install php7.2-mysql 重啟 apache $sudo systemc...

[MAC][Linux][架站] 如何利用 AB (ApacheBench) 進行網站壓力測試

圖片
AB (ApacheBench) 是一個非常方便的網站壓力測試工具,MAC 本身已有內建,所以可以直接用終端機下指令來使用,使用方式如下: #ab -n 10000 -c 10 -k http://localhost/hello.php Server 能力 主要是看下兩點: Requests per second (平均每秒可回應多少要求) (越高越好) Time per request (平均每個要求所花費的時間) (越低越好) 其他可以參考 保哥的文章

[Linux][架站][好文] Step By Step Ubuntu 17.04 (Zesty Zapus) LAMP Server Setup

Step By Step Ubuntu 17.04 (Zesty Zapus) LAMP Server Setup

[Linux][Laravel][架站] ubuntu 16.04 上安裝 Laravel

Step1. 安裝最基本的 ubuntu 16.04 預設值安裝即可 Step2. 更新 $sudo apt-get update $sudo apt-get dist-upgrade Step3. 安裝 SSH $sudo apt-get install openssh-server Step4. 安裝 Zip $sudo apt-get install zip unzip Step5. 安裝 LAMP $sudo tasksel install lamp-server Step6. 安裝 PHP extension $sudo apt-get install php-curl php-mcrypt php-mbstring php-gettext php-zip Step7. E nable mods $sudo phpenmod mcrypt $sudo phpenmod mbstring $sudo phpenmod zip $sudo a2enmod rewrite Step8. 重啟 apache $sudo systemctl restart apache2 Step9. 安裝 composer $curl -sS https://getcomposer.org/installer | php $sudo mv composer.phar /usr/local/bin/composer Step10. 安裝 laravel $composer global require "laravel/installer" Step 11. 修改環境變數 $vim ~/.bashrc 在最下面加上 export PATH="$PATH:$HOME/.config/composer/vendor/bin" Step 12. 讓變數生效 $source ~/.bashrc  Step 13. 建立網站資料夾 $cd /var/www/html/ $sudo mkdir laravel $sudo chmod -R 777 laravel Step 14. 新增專案 ...

[Linux][架站] 解決 ubuntu (server版) 安裝時出現 "無法安裝 busybox-initramfs" 的問題

圖片
今天用 Virtual Box 安裝 ubuntu server 時,出現了"無法安裝 busybox-initramfs" 的錯誤導致安裝失敗,爬文後發現這是中文版特有的bug 解決方法很簡單...

[MAC] [架站] OSX 10.10 升級 10.11 後 PHP 開不起來的問題

step 1. 打開 httpd.conf $sudo vim /etc/apache2/httpd.conf step 2. 將下列項目前的#字號拿掉 LoadModule ssl_module libexec/apache2/mod_ssl.so LoadModule rewrite_module libexec/apache2/mod_rewrite.so LoadModule php5_module libexec/apache2/libphp5.so Include /private/etc/apache2/extra/httpd-vhosts.conf step 3. 重啟 apache $sudo apachectl restart

[SQLite][架站] 如何避免 SQLite 的資料庫檔案被下載

假設 SQLite 的資料庫檔案名稱是 mydb.sqlite 我們可以在該資料夾下建立一個 .htaccess 檔案,內容如下:

[Linux][架站][PHP][MYSQL] LAMP 獨立安裝 (以 ubuntu 14.04 為例)

最近 ubuntu 14.04 釋出了,所以,謝晒也下載來玩玩看,順便架了簡單的 LAMP web server,流程如下: 1. apache apt-get install apache2 2. php apt-get install php5 *如果是ubuntu 16.04 會無法取得php5套件,請改成 #apt-get install php 3. mysql apt-get install mysql-server 設定檔 /etc/mysql/my.cnf 4. phpmyadmin apt-get install phpmyadmin 5. curl apt-get install php5-curl 裝了這些大致上就OK了,如果還有需要裝的,我再補充... 備註: 1. 如何 啟用、關閉、重啟或檢視 相關服務,以啟動 mysql 為例 /etc/init.d/mysql start (關閉 stop 、重啟 restart 、 檢視 status )

[架站][MYSQL][Linux] 如何安裝 MYSQL 及 phpmyadmin (以 ubuntu 為例)

1. 安裝 mysql (安裝過程會需要輸入 root 密碼 假設是1234) apt-get install mysql-server 2. 檢查服務是否啟動 service mysql status 3. 進入 MYSQL Monitor mysql -r root -p1234 4. 檢查設定狀態 status 5. 離開 MYSQL Monitor exit 6. 安裝 phpmyadmin (安裝過程會需要輸入 root 密碼 假設是1234) apt-get install phpmyadmin 7. 完成了! 開啟瀏覽器 輸入 127.0.0.1/phpmyadmin 備註: 1. mysql 的設定檔位置在 /etc/mysql/my.cnf 2. 重啟 mysql 的方式 (啟動 start 、 關閉 stop) /etc/init.d/mysql restart

[MAC][PHP][架站][MYSQL] 啟動 OSX 預設安裝的 Apache 及 PHP,標準安裝 MySQL 及 phpmyadmin

一、啟動 Apache 及 PHP: 新的 OSX MAC 作業系統 預設就已經安裝了 Apache 及 PHP ,在終端機模式下,查詢版本的指令如下: $apachectl -v $php -v Apache 預設是未啟動,所以我們必須手動啟動服務,指令如下: $sudo apachectl start 然後,我們開啟瀏覽器,網址輸入 http://localhost 如果看到 It works! 就代表啟動成功了。 然後,我們要啟動 PHP ,方式如下: $sudo vim /etc/apache2/httpd.conf 找到 #LoadModule php5_module libexec/apache2/libphp5.so 把 # 刪除掉,存檔後重啟 apache ,如下: $sudo apachectl restart 至此,我們已經成功地啟動 MAC 的 apache 及 php 服務了。 備註1: 在 httpd.conf 設定檔裡面,可以設定網站檔案位置,預設值是 /Library/WebServer/Documents/ 備註2: MAC 預設的 PHP 設定檔 (php.ini) 位置在 /etc/php.ini.default ,建議不要直接修改這個設定檔,我們可以透過 $sudo cp /etc/php.ini.default /etc/php.ini 就可以產生一支設定檔,再 $sudo chmod +w /etc/php.ini ,增加修改權限,透過 $sudo vim /etc/php.ini ,修改設定檔的內容,最後再 $sudo apachectl restart 重新啟動 apache ,你就會發現變更的設定值已經被吃進去了。 二、標準安裝 MySQL 請上 MySQL 官網 下載 DMG 安裝檔,安裝過程很簡單,沒什麼需要設定的。裝好後,進"系統偏好設定"會看到多了 MySQL,點進去把服務啟動。 然後開終端機,輸入 cd /usr/local/mysql/bin/,第一次要先設定 root 密碼,輸入 ./mysql -u root -p 按 Enter 後就可以輸入密碼,然後看到 mysql > 就代表已經進入了,可以輸入 show datab...

[PHP][架站] 用 WAMP 架Server,開啟網站出現 Forbidden 的解決方法 (錯誤訊息: You don't have permission to access /iword/ on this server. )

用 WAMP 架好Server後,卻發現外網連到網站會出現 Forbidden You don't have permission to access /iword/ on this server. 這時候就要打開 httpd.conf 修改內容,將原本的【Deny from all】改成【Allow from all】,再重啟所有服務就OK啦。

[PHP][架站] WAMP 的 php.ini 在哪?

因為 appserv 已經沒有在維護了,所以,對於要學習 PHP 網頁設計的人,可以考慮改用 WAMP 這個 server 套裝程式,而 WAMP 的 php.ini 存放位置跟 appserv 不一樣,是放在 【 C:\wamp\bin\apache\Apache2.4.4\bin\php.ini 】 這個位置。(數字會依照安裝版本而不一樣)

[架站] 以 load balance 方式架設server時,session設定的注意事項...(session不見的問題)

如果 load balance 的方式是隨機在多台 server 中切換,那就要注意每台 server 的 session 存放位置必須指向同一台 server 的特定個位置,或是採取同步資料夾的方式,將本機的 session 資料夾進行同步,才不會因為在各台 server 之間切換時,造成 session 遺失的問題。

[好文][架站] 檢查網站服務是否運作的好幫手 – http-ping

檢查網站服務是否運作的好幫手 – http-ping

[架站][好文] 網站架構與部署策略筆記

網站架構與部署策略筆記

[好文][架站] 在家也能架出好網站 - 非典型精實貧窮網站維運方式分享

在家也能架出好網站 - 非典型精實貧窮網站維運方式分享