之前,我曾自己搭建過Wordpress,只不過那時候用的是第三方的虛擬主機,一臺機器上可能有幾十個網(wǎng)站。那時候的虛擬機還沒做到物理層面的隔離,一個網(wǎng)站占用資源可能會導致所有網(wǎng)站宕機。
最近嘗試了下在阿里云ecs上搭建了獨立的wordpress,記錄下搭建的過程。
原先我想嘗試使用apache作為wordpress的容器,用nginx作為反向代理直接代理到apache。但是在我使用了apache后,發(fā)現(xiàn)了一個問題,直接使用nginx作為反向代理,轉(zhuǎn)到apache后,url偽靜態(tài)貌似無法訪問,好像需要對每一個url進行nginx的location配置,感覺太過麻煩,就放棄了。
當然也有可能有其他解決方法,不過我沒嘗試,后來我查詢了下nginx是可以利用第三方插件支持php的。直接利用nginx做容器也有優(yōu)點,部署起來相對簡單,多個網(wǎng)站也可以直接通過nginx單個容器進行部署。
1.域名購買
這個就不多講了,去域名平臺申請域名。
2.mysql安裝
安裝mysql的方法我之前已經(jīng)講過,具體可以看 這里 。安裝完成之后,我們需要為wordpress建立一個單獨的賬戶,為什么要建立一個單獨的賬戶呢?主要是為了安全考慮,如果wordpress被攻擊了,而你使用了root賬戶,那么數(shù)據(jù)庫中的所有表都會被暴露。
// 創(chuàng)建wordpress用戶,并設置密碼,密碼建議隨機生成,并且不少于8位,采用大小寫,數(shù)字,特殊字符組合CREATE USER 'wordpress'@'%' IDENTIFIED BY 'password';//給予wordpress這個賬戶所有的操作權限,包含 select delete update insert create alter 等GRANT all ON wordpress.* TO 'wordpress'@'%';
權限詳細信息可以參考這里。
3.nginx安裝
nginx采用yum方式安裝,非常簡單。
安裝:
yum -y install nginx;
啟動:
systemctl start nginx.service;
兩個步驟就完成了nginx的安裝。
4.安裝php
4.1 php安裝
yum -y install php;
php安裝非常簡單,安裝完成之后,執(zhí)行以下命令查看,顯示版本,則說明安裝正確:
php -v;
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文件,修改數(shù)據(jù)庫名稱、用戶名、密碼,字段如下:
// ** MySQL settings - You can get this info from your web host ** ///** The name of the database for WordPress */define('DB_NAME', '你的數(shù)據(jù)庫名稱');/** 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%左右的網(wǎng)站用的是wordpress系統(tǒng),這也導致wordpress成為了黑客的攻擊對象,安全問題不容忽視,無論對于個人還是企業(yè)。對于普通使用者有沒有簡單的方法讓我們快速提升安全防護呢?我查看了幾款安全插件,有這么一款插件可以幫助我們提升安全攻略,插件名是All In One WP Security & Firewall 。這款插件相對普通用戶來說顯得簡單易用。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網(wǎng)。
|
新聞熱點
疑難解答