在 Ubuntu 14.04 LTS 上部署 Nginx + PHP-FPM + MariaDB + WordPress 生產環境,本文提供從伺服器初始化到服務上線的完整標準化流程。
# SSH 登入 ssh root@your_server_ip # 設定公鑰免密登入 mkdir ~/.ssh curl 'https://raw.githubusercontent.com/.../authorized_keys' >> ~/.ssh/authorized_keys chmod -R 700 ~/.ssh # 系統更新 apt-get update && apt-get upgrade # 設定主機名(建議用實際域名) vi /etc/hostname vi /etc/hosts
apt-get install nginx postfix php5-fpm mariadb-server memcached apt-get install php-pear php5-mysql php5-curl php5-gd php5-mcrypt php5-memcache apt-get install python make screen git wget zip unzip iftop vim curl htop iptraf nethogs
# 建立專用使用者 adduser wordpress su wordpress cd ~ # 下載解壓 wget https://cn.wordpress.org/wordpress-3.9-zh_CN.zip unzip wordpress-*.zip chmod -R 750 wordpress rm wordpress-*.zip exit
vi /etc/php5/fpm/pool.d/wordpress.conf
[wordpress] user = wordpress group = wordpress listen = /home/wordpress/phpfpm.sock listen.owner = wordpress listen.group = wordpress listen.mode = 0660 pm = dynamic pm.max_children = 10 pm.min_spare_servers = 3 pm.max_spare_servers = 5 slowlog = /home/wordpress/phpfpm.slowlog request_slowlog_timeout = 5s request_terminate_timeout = 15s php_admin_value[error_log] = /home/wordpress/phpfpm_error.log php_admin_flag[log_errors] = On
rm /etc/nginx/sites-enabled/default vi /etc/nginx/sites-enabled/wordpress
server {
listen 80;
server_name yourdomain.com;
root /home/wordpress/wordpress;
index index.html index.php;
autoindex off;
location / {
try_files $uri $uri/ /index.php;
}
location ~ \.php$ {
fastcgi_pass unix:///home/wordpress/phpfpm.sock;
include fastcgi_params;
fastcgi_index index.php;
}
}
# 可選:所有域名導向主站
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
rewrite ^/(.*)$ https://yourdomain.com permanent;
}
vi /etc/nginx/fastcgi_params # 修改為: fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
# Nginx 讀取權限 usermod -G wordpress -a www-data # MySQL 設定 mysql -p CREATE DATABASE `wordpress`; CREATE USER 'wordpress'@'localhost' IDENTIFIED BY 'strong_password'; GRANT ALL PRIVILEGES ON `wordpress`.* TO 'wordpress'@'localhost'; QUIT
reboot # 或逐項重啟:service nginx restart && service php5-fpm restart && service mysql restart
此架構支援高併發、易維護,是中小型 WordPress 站點的經典部署方案。