CentOS7 安裝 WordPress 5 程序
- CentOS 7.6.1810 (Core)
- Nginx 1.12.2
- MariaDB 10.3.12
- PHP 7.3.1
安裝 Nginx / MariaDB / PHP 7
- EPEL
yum install -y epel-release yum-utils
- Remi 關閉 5.4 啟用 7.3
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm yum-config-manager --disable remi-php54 yum-config-manager --enable remi-php73
- nginx
vi /etc/yum.repos.d/nginx.repo
[nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/7/$basearch/ gpgcheck=0 enabled=1
yum install -y nginx
- php-fpm
yum install -y php-fpm php
- mariadb-server
vi /etc/yum.repos.d/MariaDB.repo
# MariaDB 10.3 CentOS repository list - created 2019-01-25 13:04 UTC # http://downloads.mariadb.org/mariadb/repositories/ [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.3/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1
yum install -y MariaDB-server
設定與驗證 nginx+php-fpm / mariadb
- Firewall 開啟 http / https
firewall-cmd --permanent --zone=public --add-service=http firewall-cmd --permanent --zone=public --add-service=https firewall-cmd --reload
- 設定 nginx 開機啟動
systemctl restart nginx systemctl enable nginx
- 設定主網站頁目錄
vi /etc/nginx/conf.d/default.conf
server { listen 80; server_name localhost; gzip on; gzip_comp_level 5; gzip_min_length 256; gzip_proxied any; gzip_vary on; gzip_types application/atom+xml application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy; # text/html is always compressed by gzip module location ~* \.(jpg|jpeg|png|gif|ico|css|js|pdf)$ { expires 7d; } charset utf-8; access_log /var/log/nginx/access.log main; root /var/www/html; index index.php index.html index.htm; location / { try_files $uri $uri/ =404; } error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ \.php$ { try_files $uri =404; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
chcon -R -t httpd_sys_rw_content_t /usr/share/nginx/html systemctl reload nginx
- 修改 php 設定
vi /etc/php.ini
: ;cgi.fix_pathinfo=1 cgi.fix_pathinfo=0 : [Date] : date.timezone = Asia/Taipei :
- 修改 php-fpm 設定
vi /etc/php-fpm.d/www.conf
: ; RPM: apache user chosen to provide access to the same directories as httpd ;user = apache user = nginx ; RPM: Keep a group allowed to write in log dir. ;group = apache group = nginx : : ; Default Values: user and group are set as the running user ; mode is set to 0660 listen.owner = nobody listen.group = nobody ;listen.mode = 0660 :
systemctl restart php-fpm systemctl enable php-fpm
- 啟動 MariaDB 與驗證新密碼
systemctl restart mariadb systemctl enable mariadb mysql_secure_installation mysql -u root -p
- 安裝其他 php 套件
yum install php-mysqlnd php-mbstring php-xmlrpc php-soap php-gd php-xml php-intl php-zip php-curl php-cli systemctl restart php-fpm systemctl restart nginx
下載最新版 Wordpress
yum install wget unzip cd /var/www/html/ wget http://wordpress.org/latest.zip unzip latest.zip chown -R nginx:nginx wordpress
開始基本設定
- 建立 wordpress db
mysql -u root -p
create database `wordpress`; create user 'wpadmin'@'localhost' identified by '**Password**'; grant all on wordpress.* to 'wpadmin'@'localhost'; flush privileges; quit
- 透過網頁安裝設定 wordpress : http://xxx.xxx.xxx/wordpress ←- 依據只是經過三個步驟就可以安裝完成
- 使用 admin 與預設密碼(0adf3e 這樣的密碼) 登入, 先將預設密碼改成你要的密碼
設定固定網址
- /etc/nginx/conf.d/default.conf
: index index.php index.html index.htm; location / { try_files $uri $uri/ /index.php?$args; } error_page 404 /404.html; :
- 檢查設定檔與重啟 nginx
nginx -t systemctl restart nginx
設定特定 IP 可存取 wp-admin
- Exp. 開放 10.x.x.x 以及 172.16.x.x 可以進入 wp-admin 管理介面
- 編輯 /etc/nginx/conf.d/default.conf
: location / { try_files $uri $uri/ /index.php?$args; } location /wp-admin/ { allow 10.0.0.0/8; allow 172.16.0.0/16; deny all; } location /wp-admin/admin-ajax.php { allow all; } error_page 404 /404.html; :
- 重新啟動 nginx 讓設定生效
systemctl restart nginx
評估外掛與相關資源
- CDN 整合
- 數據統計
- 網站測速
- 網站優化
- plugin 參考文章
- 如果要更改網址 → 參考 WordPress 搬家修改網址處理方式
- 如果要更改已經上傳的媒體(圖片, 檔案)檔名 → 參考 How to Easily Rename uploaded Media Files in WordPress