Install Nginx, MySQL and PHP (FEMP) Stack on DigitalOcean(FreeBSD 12.0)

昨天申請的DigitalOcean VM安裝好CentOS LEMP後,今天又開了一個VM 來玩FreeBSD(FEMP),安裝方法與LEMP大致相同, CentOS LEMP 安裝發法在這裡
把yum改成pkg就大致可以了!

以下是實際安裝FreeBSD 12 所做的紀錄 ,
本篇皆需要在root帳號下操作,安裝完成後請務必adduser使用sudo來管理系統會比較安全(加入group:wheel)。
使用 putty 登入vps給的 server (ip-based)

用hostname , uname -ro 指令查詢一下主機相關資訊:
指令: hostname , uname -ro
[email protected]:~ # hostname
freebsd-mirai
[email protected]:~ # uname -ro
FreeBSD 12.0-RELEASE-p7

設定時區
指令: tzsetup
Asia -> Taiwan -> Yes

先升級 pkg , 之後用 pkg 來安裝所有的套件 (我先用pkg不用ports,若你要裝的軟體版本pkg沒有,請乖乖用ports)
基本套件安裝
安裝速度可能會慢一些,請耐心等待
pkg update && pkg upgrade -y
安裝常用工具 pkg install nano wget curl bash sudo

安裝FEMP(在FreeBSD上安裝NGINX,MARIADB,PHP)
1.) nginx:
pkg install -y nginx
sysrc nginx_enable=yes (開機自動載入)
service nginx start (手動啟動)

2.) mysql-server
pkg install -y mysql80-client mysql80-server
sysrc mysql_enable=yes
service mysql-server start

接著馬上更改mysql-server的密碼
mysql
USE mysql;
UPDATE user SET Password=password(‘your-new-password’) WHERE User=’root’;
或是執行 mysql_secure_installation 也可以。詳細的設定在/usr/local/etc/my.cnf中。
mariadb or mysql-server 的調校可用 mysqltuner 來調整。
pkg install -y mysqltuner

3.) PHP-fpm
pkg install -y php74 php74-pdo php74-mbstring
設定檔
ln -s /usr/local/etc/php.ini-production /usr/local/etc/php.ini
sysrc php_fpm_enable=yes
service php-fpm start
你可以檢查一下,看看php是否跑起來了?
service php-fpm status

這時 nginx 與 php-fpm 各自跑各自的,還需要回去設定nginx
新增 nano /usr/local/etc/nginx/test.conf
server {

listen 80;
server_name SERVER_IP; # 改成DigitalOcean給你的IP
root /usr/local/www/nginx-dist;
index index.php index.html index.htm;

location / {
try_files $uri $uri/ =404;
}

location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

}
存檔
nano /usr/local/etc/nginx/nginx.conf
在最底下的 } 前一列加上
include test.conf;
存檔

設定好之後,重新啟動 PHP 與 Nginx 服務
service nginx reload
service php-fpm reload

nano /usr/local/www/nginx-dist/info.php

打開chrome or firefox 開啟 http://your-vps-ip/info.php
若看到伺服器相關資訊就表示成功了

設定name-virtualserver
指令 mkdir /etc/nginx/virtualserver
nano /etc/nginx/nginx.conf
在nginx.conf中加入
include /etc/nginx/virtualserver/.conf ;
在目錄 /etc/nginx/virtualserver 中
新增 your.domain.name.com.conf (例如: abc.com.conf)

指令 nano abc.com.conf
server {
server_name www.yourname.tw yourname.tw;
root /home/user/sites/site1;
index index.php index.html index.htm;
include /etc/nginx/default.d/*.conf;
location / {
try_files $uri $uri/ /index.php?$args;
}

}
若你要安裝 wordpress , 請注意 nginx.conf 中這幾個要mark掉
這部分花了我不少時間…. 🙁

  • rewrite_log on;
  • tcp_nopush on;
  • tcp_nodelay on;

安裝好後, 跑一下htop,記憶體只用了129MB (日語:斯給!!) 還有 2G 的swap ...
看來這一個月5美金的VM就很夠用了!!!

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *