Install LEMP on the Oracle Cloud Free Tier (Free VPS)

今天在網路上看到 Oracle 有出免費的雲VPS,規格看起來不錯,想申請一個來玩看看…


首先要先註冊,登入後就能申請 compute (雲主機),可以選 OS , Linux , Windows ,其他都可以因為是 KVM ...

最後我裝了一台免費的(安裝Oracle Linux 7.7),一台付費的 (安裝CentOS Linux 7.7) ,要注意Oracle提供$400新加坡幣的試用金是效期一個月。

用 Bench 跑了一下,他竟然比網頁上的規格多了一倍的CPU,付費的CPU與免費的CPU規格一樣,從IO的速度看來不是SSD,但實際操作起來還不錯 ,安裝server時完全不會卡,不會輸給DigitalOCean等廠商,而且流量有10TB。接下來我們就開始安裝 LEMP!!!


本篇皆需要在root帳號下操作,安裝完成後請務必adduser使用sudo來管理系統會比較安全。 使用 putty 登入vps給的 server (ip-based)

用HOSTNAMECTL 指令查詢一下主機相關資訊:
指令: hostnamectl

hostnamectl

Static hostname: instance
Icon name: computer-vm
Chassis: vm
Machine ID: d50c95f453114d26aa9ae51d096c0e52
Boot ID: 2af0d410919743b8945ea35d770576df
Virtualization: kvm
Operating System: Oracle Linux Server 7.7
CPE OS Name: cpe:/o:oracle:linux:7:7:server
Kernel: Linux 4.14.35-1902.7.3.1.el7uek.x86_64
Architecture: x86-64

看看時區是否正確
指令: date

若不是你現在的時間就要設定好,之後看 log 設定 crontab 時才會正確
設定台灣 CST 時區的指令
指令: timedatectl set-timezone Asia/Taipei

先升級 YUM , 之後用 YUM 來安裝所有的套件
基本套件安裝
yum -y update or yum -y upgrade

安裝LEMP(在LINUX上安裝NGINX,MARIADB,PHP)
1.) nginx:
yum -y install nginx
systemctl enable nginx
systemctl start nginx

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

3.) PHP-fpm
yum -y install oracle-php-release-el7
yum -y install php php-fpm php-mysqlnd
設定檔/etc/php-fpm.d/www.conf
user = nginx
group = nginx
systemctl start php-fpm
systemctl enable php-fpm

這時 nginx 與 php-fpm 各自跑各自的,還需要回去設定nginx
設定 nano /etc/nginx/nginx.conf
在 server 的 {} 中加入
server {
….
….
….
index index.php index.html index.htm;
location ~ .php$ {
try_files $uri =404;

fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;

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


}

設定好之後,重新啟動 PHP-FPM 與 Nginx 服務
systemctl restart rh-php72-php-fpm
systemctl restart nginx

nano /usr/share/nginx/html/info.php

打開chrome or firefox 開啟 http://your-vps-ip/info.php
若看到伺服器相關資訊就表示成功了 (不過你可能是失敗的...可以先看看最後)

安裝FTPD
yum -y install pure-ftpd
systemctl enable pure-ftpd
systemctl start pure-ftpd

這樣就大致成功了!!!
其他wordpress的安裝或是設定name-virtualserver
可以看其他篇的文章有說明。

但是!!! 防火牆還沒設定....而且還要 port forward ...

然後用 SSH 登入 (用當初註冊時用的 ssh-keygen 的 private key) server-ip
login: opc password: 用private key 不需要
登入後 sudo su 取得 root

接著設定防火牆
firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: ens3
sources:
services: dhcpv6-client ssh
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

firewall-cmd --add-service=http --permanent

firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: ens3
sources:
services: dhcpv6-client http ssh
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

發佈留言

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