測試的主角
下載網頁:http://www.raspberrypi.org/downloads/
開機登入,預設帳號密碼:root / root
請更改密碼
# passwd
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully[@more@]底下文章參考:
ArchWiki
Nginx + PHP-FPM + MariaDB on Arch Linux for Raspberry PIs
homecomputerlab » NginX + PHP + MariaDB + WordPress on ArchLinux on a Raspberry Pi
設定時區
# date
Sun Sep 28 09:13:30 MDT 2014
# ls -l /etc/localtime
lrwxrwxrwx 1 root root 34 Aug 13 2013 /etc/localtime -> /usr/share/zoneinfo/America/Denver
刪除舊有設定
# rm -rf /etc/localtime
連結到 Asis/Taipei
# ln -s /usr/share/zoneinfo/Asia/Taipei /etc/localtime
或
# timedatectl set-timezone Asia/Taipei
# date
Sun Sep 28 23:16:19 CST 2014
更換成台灣的 Server
# sed -i ‘s/^Server/#Server/’ /etc/pacman.d/mirrorlist
# sed -i ’49s/# Server/Server/g’ /etc/pacman.d/mirrorlist
更新套件庫
# pacman -Syy
:: Synchronizing package databases…
core 159.0 KiB 2.72M/s 00:00 [############################] 100%
extra 2.2 MiB 4.66M/s 00:00 [############################] 100%
community 2.4 MiB 5.17M/s 00:00 [############################] 100%
alarm 29.0 KiB 4.72M/s 00:00 [############################] 100%
aur 61.7 KiB 2.87M/s 00:00 [############################] 100%
設定中文化環境,加入 en_US.UTF-8 和 zh-TW.UTF-8
# sed -i ‘s/#en_US.UTF-8/en_US.UTF-8/’ /etc/locale.gen
# sed -i ‘s/#zh_TW.UTF-8/zh_TW.UTF-8/’ /etc/locale.gen
產生 locale.gen 內指定的語系
# locale-gen
設定預設語系
# echo ‘LANG=”en_US.UTF-8″‘ > /etc/locale.conf
檢視設定
# grep -v ^# /etc/locale.gen
en_US.UTF-8 UTF-8
zh_TW.UTF-8 UTF-8
安裝 vim 及 mlocate / dnsutils 套件
# pacman -S vim mlocate dnsutils
安裝 Nginx Web Server
# pacman -S nginx
啟動 Nginx Web Server
# systemctl start nginx
安裝的 Nginx Web Server 版本
# /usr/bin/nginx -v
nginx version: nginx/1.6.1
設定開機時啟動
# systemctl enable nginx
ln -s ‘/usr/lib/systemd/system/nginx.service’ ‘/etc/systemd/system/multi-user.target.wants/nginx.service’
取消開機時啟動
# systemctl disable nginx
rm ‘/etc/systemd/system/multi-user.target.wants/nginx.service’
設定 Nginx Web Server
備份設定檔
# mv /etc/nginx/nginx.conf /etc/nginx/nginx.conf.$(date +%F_%T)
建立 Nginx Web Server 設定檔
# vim /etc/nginx/nginx.conf
#user http;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 2048;
}
http {
include mime.types;
default_type application/octet-stream;
#log_format main ‘$remote_addr – $remote_user [$time_local] “$request” ‘
# ‘$status $body_bytes_sent “$http_referer” ‘
# ‘”$http_user_agent” “$http_x_forwarded_for”‘;
#access_log logs/access.log main;
sendfile on;
keepalive_timeout 60;
gzip on;
gzip_comp_level 1;
server {
listen 80;
server_name localhost;
location ~ .php {
root /srv/http;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location / {
root /srv/http;
index index.php index.html index.htm home.php home.html home.htm;
}
}
}
重新啟動 Nginx Web Server
# systemctl restart nginx
安裝 PHP 和 PHP-FPM
# pacman -S php php-gd php-geoip php-pear php-cgi php-mcrypt php-odbc php-fpm
啟動 PHP-FPM
# systemctl start php-fpm
設定開機時啟動 PHP-FPM
# systemctl enable php-fpm
ln -s ‘/usr/lib/systemd/system/php-fpm.service’ ‘/etc/systemd/system/multi-user.target.wants/php-fpm.service’
設定 PHP 和 PHP-FPM
備份設定檔
# cp /etc/php/php.ini /etc/php/php.ini.$(date +%F)
修改 /etc/php/php.ini 設定檔
# sed -i ‘s/;extension=mysqli.so/extension=mysqli.so/’ /etc/php/php.ini
# sed -i ‘s/;extension=mysql.so/extension=mysql.so/’ /etc/php/php.ini
# sed -i ‘s/;extension=mcrypt.so/extension=mcrypt.so/’ /etc/php/php.ini
# sed -i ‘s/;mysqli.allow_local_infile = On/mysqli.allow_local_infile = On/’ /etc/php/php.ini
# sed -i ‘s|;date.timezone =|date.timezone = Asia/Taipei|’ /etc/php/php.ini
重新啟動 PHP-FPM
# systemctl restart php-fpm
安裝 mariadb SQL Server
# pacman -S mysql
:: There are 2 providers available for mysql:
:: Repository extra
1) mariadb
:: Repository community
2) percona-server
Enter a number (default=1): 1
啟動 mariadb SQL Server
# systemctl start mysqld
設定開機時啟動 mariadb SQL Server
# systemctl enable mysqld
ln -s ‘/usr/lib/systemd/system/mysqld.service’ ‘/etc/systemd/system/multi-user.target.wants/mysqld.service’
設定 mariadb SQL Server
備份設定檔
# mv /etc/mysql/my.cnf /etc/mysql/my.cnf.$(date +%F)
建立設定檔
# vim /etc/mysql/my.cnf
[mysqld]
default-storage-engine = myisam
key_buffer = 1M
query_cache_size = 1M
query_cache_limit = 128k
max_connections=25
thread_cache=1
skip-innodb
query_cache_min_res_unit=0
tmp_table_size = 1M
max_heap_table_size = 1M
table_cache=256
concurrent_insert=2
max_allowed_packet = 1M
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 64K
重新啟動 mariadb SQL Server
# systemctl restart mysqld
安裝後設定
# /usr/bin/mysql_secure_installation
測試 PHP 功能
# cat /srv/http/index.php
<?php
phpinfo();
?>