AWS安裝nginx/php

安裝環境memo

安裝nginx/php

1
2
sudo yum install nginx
sudo yum install php71 php71-mbsrting php71-mysqlnd php71-fpm

安裝的時候如果下yum install php

AWS預設的repo為php5.6系列

不同版本需要加版號 e.g php71 php71-xxxx php72

安裝相對應套件也要加版號

可以用yum search 套件名 做查詢

查詢套件

1
sudo yum search php71

列出已安裝套件

1
sudo yum list installed

nginx htacess rewrite setting

nginx中的htacess rewrite寫法舉例,並無apache的override

    if ($request_uri ~ "^admin.*"){
            rewrite ^/admin/(.*)$ /admin/index.php?/$1 last;
    }
if (!-e $request_filename){
           rewrite ^/(.*)$ /index.php?/$1 last;
    }

安裝Composer

1
2
3
4
5
6
7
8
install composer
$ cd ~
$ sudo curl -sS https://getcomposer.org/installer | sudo php
$ sudo mv composer.phar /usr/local/bin/composer
$ sudo ln -s /usr/local/bin/composer /usr/bin/composer

then you can run
$ sudo composer install

Source


phpMyAdmin


在AWS直接下yum install phpmyadmin一樣會套入5.6的版本依賴套件,如果使用新版的可能會出現衝突情況

這邊推薦使用AWS官方安裝方式

1
2
3
4
5
6
7
wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz

##如果權限不夠才要開
sudo mkdir phpMyAdmin
sudo chmod -R 777 phpMyAdmin
sudo tar -xvzf phpMyAdmin-latest-all-languages.tar.gz -C phpMyAdmin --strip-components 1
sudo rm phpMyAdmin-latest-all-languages.tar.gz

進入phpMyAdmin資料夾下更改config connection

1
2
cp config.sample.inc.php config.inc.php
nano config.inc.php

phpMyAdmin bug

一定要放在ser指定目錄下

1
/usr/share/nginx/html/xxx/public

可以用link方式過去,例如

1
ln -s /var/www/html

跳tmp錯誤直接在phpMyAdmin下mkdir一個tmp資料夾 開啟權限

1
2
3
cd /usr/share/nginx/html/phpMyAdmin
sudo mkdir tmp
sudo chmod -R 777 tmp

跳出session無法讀取/寫入錯誤

參考錯誤訊息路徑更改PHP session資料夾讀取寫入權限

修改phpMyAdmin的file upload

php.ini

1
2
3
memory_limit
post_max_size
upload_max_filesize

MySql Client

安裝套件

一樣預設repo下mysql安裝可能會安裝舊版產生套件相依性問題,需要下版號

1
2
yum search mysql
sudo yum install mysql57

連線到RDS

1
mysql -h `[EndPoint]` -P 3306 -u `[UserName]` -p

匯入大量資料

csv格式需使用UTF8中文才可以正常匯入

use [資料庫名稱]

有標頭的command

1
2
3
4
5
6
7
LOAD DATA LOCAL INFILE  '檔案路徑'
-> INTO TABLE 資料表名稱
-> CHARACTER SET UTF8
-> FIELDS TERMINATED BY ','
-> ENCLOSED BY '"'
-> LINES TERMINATED BY '\n'
-> IGNORE 1 ROWS;

單行

1
LOAD DATA LOCAL INFILE  '檔案路徑' INTO TABLE 資料表名稱 CHARACTER SET UTF8 FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS;

etc

1
2
SELECT * FROM customer LIMIT 55,1
等於row 56

Reference

phpmyadmin

Cannot start session without errors in phpMyAdmin

教程:使用 Amazon Linux AMI 安装 LAMP Web 服务器

Error in phpMyAdmin after updating to v4.8.0: The $cfg[‘TempDir’] (./tmp/) is not accessible

Import file size limit in PHPMyAdmin

RDS/MySQL

与运行 MySQL 数据库引擎的数据库实例连接

Select specific row from mysql table