之前,我曾自己搭建過Wordpress,只不過那時候用的是第三方的虛擬主機,一臺機器上可能有幾十個網站。那時候的虛擬機還沒做到物理層面的隔離,一個網站占用資源可能會導致所有網站宕機。
最近嘗試了下在阿里云ecs上搭建了獨立的wordpress,記錄下搭建的過程。
原先我想嘗試使用apache作為wordpress的容器,用nginx作為反向代理直接代理到apache。但是在我使用了apache后,發(fā)現了一個問題,直接使用nginx作為反向代理,轉到apache后,url偽靜態(tài)貌似無法訪問,好像需要對每一個url進行nginx的location配置,感覺太過麻煩,就放棄了。
當然也有可能有其他解決方法,不過我沒嘗試,后來我查詢了下nginx是可以利用第三方插件支持php的。直接利用nginx做容器也有優(yōu)點,部署起來相對簡單,多個網站也可以直接通過nginx單個容器進行部署。
1.域名購買
這個就不多講了,去域名平臺申請域名。
2.mysql安裝
安裝mysql的方法我之前已經講過,具體可以看 這里 。安裝完成之后,我們需要為wordpress建立一個單獨的賬戶,為什么要建立一個單獨的賬戶呢?主要是為了安全考慮,如果wordpress被攻擊了,而你使用了root賬戶,那么數據庫中的所有表都會被暴露。
// 創(chuàng)建wordpress用戶,并設置密碼,密碼建議隨機生成,并且不少于8位,采用大小寫,數字,特殊字符組合
CREATE USER 'wordpress'@'%' IDENTIFIED BY 'password';
//給予wordpress這個賬戶所有的操作權限,包含 select delete update insert create alter 等
GRANT all ON wordpress.* TO 'wordpress'@'%';
權限詳細信息可以參考這里。
3.nginx安裝
nginx采用yum方式安裝,非常簡單。
安裝:
啟動:
systemctl start nginx.service;
兩個步驟就完成了nginx的安裝。
4.安裝php
4.1 php安裝
php安裝非常簡單,安裝完成之后,執(zhí)行以下命令查看,顯示版本,則說明安裝正確:
4.2 php-fpm 安裝
除了php之外,我們還需要用到兩個東西,fast-cgi和php-fpm。那么這兩樣東西是什么呢?如果想了解詳情的,可以看 這里 ,簡單的說fpm就是fastcgi的一個管理器。在此之前我一直不知道需要安裝fpm才能正確解析php文件的,折騰了很長的一段時間。
yum install php-fpm;
//查看是否安裝成功
php-fpm -v;
啟動php-fpm
systemctl start php-fpm;
fpm默認占用的是9000端口。
5.安裝wordpress
wget https://wordpress.org/latest.tar.gz;
//解壓
tar -xzf latest.tar.gz -C /var/www/html;
解壓完成之后,找到:/wordpress/wp-config-sample.php文件,修改數據庫名稱、用戶名、密碼,字段如下:
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', '你的數據庫名稱');
/** MySQL database username */
define('DB_USER', '你的用戶名');
/** MySQL database password */
define('DB_PASSWORD', '你的密碼');
/** MySQL hostname */
define('DB_HOST', '你的host');
修改完成之后,把wp-config-sample.php的文件名改為:wp-config.php。
6.配置nginx
以下是我的配置,可以參考:
# * Official English Documentation: http://nginx.org/en/docs/
# * Official Russian Documentation: http://nginx.org/ru/docs/
upstream php {
#server unix:/tmp/php-cgi.socket;
#指向到fpm的默認9000端口,
server 127.0.0.1:9000;
}
server {
listen 80 ;
listen [::]:80 ;
server_name www.domain.com;
root /web/www.domain.com/;
index index.php;
location ~ \.php$ {
#NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
include fastcgi.conf;
fastcgi_intercept_errors on;
fastcgi_pass php;
}
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
}
7.安全設置
世界上大概有20%左右的網站用的是wordpress系統(tǒng),這也導致wordpress成為了黑客的攻擊對象,安全問題不容忽視,無論對于個人還是企業(yè)。對于普通使用者有沒有簡單的方法讓我們快速提升安全防護呢?我查看了幾款安全插件,有這么一款插件可以幫助我們提升安全攻略,插件名是All In One WP Security & Firewall 。這款插件相對普通用戶來說顯得簡單易用。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。