您好,登錄后才能下訂單哦!
本篇內容主要講解“建立WordPress的方法有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“建立WordPress的方法有哪些”吧!
操作系統:Linux(本例使用的大部分在CentOS 7.x x64與Ubuntu 14.04.1 LTS 64位上可行)
服務架構:LAMP或LNMP
注:此處LAMP為Linux+Apache+MariaDB+PHP,LNMP為Linux+Nginx+MySQL+PHP
軟體版本:Apache 2.4、MariaDB5.5、PHP5
這一節是按照已有域名來寫的,如果暫時沒有域名或者只是想配置單網站,可以先看下一節“LNMP在CentOS上的配置”
Apache HTTP Server(簡稱Apache)是Apache軟件基金會的一個開放源碼的網頁服務器,是最流行的Web服務器端軟件之一。Apache 2.4版本是Apache一重大升級版本,新版改進了緩存、代理模塊,會話控制,改進異步讀寫、增加proxy_fcgi各方面支持等,有大幅度提升并發性能。
下面,我們就介紹一下在Apache配置多域名或已有域名模式的WordPress,以供參考。
更新系統
# yum update
CentOS 7 中默認的是 Apache 2.4 版本,Apache 官網有份很好的 vhost.conf 配置實例。
安裝
# yum install -y httpd
備份配置文件(建議對于所有的配置文件,做任何更改前都先備份一份,以便應對未知錯誤)
# mkdir ~/zningfbak # cp -R /etc/httpd ~/zningbak
其中 ~
表示當前登錄用戶的用戶文件夾;-R
參數表示遞歸到所有子目錄
配置虛擬主機(/etc/httpd/conf.d/vhost.conf )
# vim /etc/httpd/conf.d/vhost.conf
文件內需要填寫的內容:
# # 主機 1 # zning.net # <VirtualHost *:80> ServerAdmin admin@zning.net ServerName zning.net ServerAlias www # 注意下面這行末尾不要帶 / DocumentRoot /srv/www/zning.net/html <Directory "/srv/www/zning.net/html/"> Options FollowSymLinks # 下一行這樣設置就可以在網站文件的目錄中使用 .htaccess AllowOverride All # 下一行是替代 Allow from all 的新機制 Require all granted </Directory> ErrorLog /srv/www/zning.net/logs/error.log CustomLog /srv/www/zning.net/logs/access.log combined ServerSignature Off </VirtualHost> # # 主機 2 # qcloud.zning.net # 這是另一個位于同一服務器的網站,如果不需要則刪除此段配置 # <VirtualHost *:80> ServerAdmin admin@zning.net ServerName test.zning.net ServerAlias test DocumentRoot /srv/www/qcloud.zning.net/html <Directory "/srv/www/qcloud.zning.net/html/"> Options FollowSymLinks AllowOverride All Require all granted </Directory> ErrorLog /srv/www/qcloud.zning.net/logs/error.log CustomLog /srv/www/qcloud.zning.net/logs/access.log combined ServerSignature Off </VirtualHost> # # 主機 3 # 為了以后給訪問 phpMyAdmin 的時候用,也可以是別的端口,如 4444 Listen 3366 # # phpMyAdmin,訪問地址:http://12.34.56.78:3366/phpMyAdmin # <VirtualHost 12.34.56.78:3366> ServerAdmin admin@zning.net DocumentRoot /srv/www/phpmyadmin/html <Directory "/srv/www/phpmyadmin/html/"> Options FollowSymLinks AllowOverride None Require all granted </Directory> ErrorLog /srv/www/phpmyadmin/logs/error.log CustomLog /srv/www/phpmyadmin/logs/access.log combined ServerSignature Off </VirtualHost>
雖然配置文件寫好了,但是還不能啟動 httpd 進程,因為上面設置的各個文件夾(網站目錄)還沒有創建。
創建各個虛擬主機的文件夾(根據需要增加或刪除),
# 主機 1 的 # mkdir /srv/www/zning.net/html -p # mkdir /srv/www/zning.net/logs # 主機 2 的 # mkdir /srv/www/qcloud.zning.net/html -p # mkdir /srv/www/qcloud.zning.net/logs # 主機 3 的 # mkdir /srv/www/phpmyadmin/html -p # mkdir /srv/www/phpmyadmin/logs
為了能夠在系統啟動時自動運行 Apache 服務器,需要運行下面的指令:
# systemctl enable httpd
輸出類似于,
# Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
然后啟動 Apache 服務,
# systemctl start httpd
如果上述指令提示說本來已經啟動了 httpd,則重新加載它,
# systemctl reload httpd
現在需要將 http 服務加入防火墻以允許外部訪問。先啟用防火墻服務,如果防火墻默認沒有啟動,則下述指令會提示錯誤,“FirewallD is not running”。
# systemctl enable firewalld && systemctl start firewalld
其中 &&
表示兩條指令依次執行。
啟動后再重新執行下面的指令:
將 HTTP 默認使用的端口 80 加入到防火墻允許列表里
# firewall-cmd --add-service=http --permanent
其中,–permanent
參數表示這是一條永久防火墻規則,如果不加這個參數則重啟系統后就沒有這條規則了。
而對于自定義的用于 phpMyAdmin 的 3366 端口,也需要添加相應的防火墻規則。因為是非標準端口,直接用數字表示即可,
# firewall-cmd --zone=public --add-port=3366/tcp --permanent
重啟 Firewalld 使該規則生效,
# systemctl restart firewalld
如果要查看加入后的防火墻規則,使用指令,
# firewall-cmd --list-all
顯示結果類似于,
public (default) interfaces: sources: services: dhcpv6-client http ssh ports: 3366/tcp masquerade: no forward-ports: icmp-blocks: rich rules:
如果已經做好了 DNS 域名解析,現在用瀏覽器打開域名應該能夠看到 Apache 的測試頁面了。
MariaDB 是在 MySQL 基礎上重建的一個數據庫軟件,各 Linux 發行版都陸陸續續從 MySQL 切換到了 MariaDB。CentOS 從 7 開始默認使用 MariaDB。
安裝
# yum install -y mariadb-server mariadb
加入隨系統啟動
# systemctl enable mariadb
輸出結果類似于,
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
啟動 MariaDB 守護進程(mysqld)
# systemctl start mariadb
其默認用戶名還是 mysql,
# top -u mysql
可以查看內存占用情況。
安全配置 MariaDB
使用 MariaDB 內建的安全配置腳本進行配置
# mysql_secure_installation
這里需要配置 mysql 根用戶和密碼、清除其他用戶、清除不需要的數據庫等。輸出類似于下面的執行過程,其中需要我們從鍵盤輸入的內容用**注釋出來了:
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MariaDB to secure it, we'll need the current password for the root user. If you've just installed MariaDB, and you haven't set the root password yet, the password will be blank, so you should just press enter here. Enter current password for root (enter for none): OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MariaDB root user without the proper authorisation. Set root password? [Y/n] y **此處輸入y** New password:***這里輸入你的密碼(并不會顯示)*** Re-enter new password:***再次輸入*** Password updated successfully! Reloading privilege tables.. ... Success! By default, a MariaDB installation has an anonymous user, allowing anyone to log into MariaDB without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n] y **此處輸入y** ... Success! Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] y **此處輸入y** ... Success! By default, MariaDB comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] y **此處輸入y** - Dropping test database... ... Success! - Removing privileges on test database... ... Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] y **此處輸入y** ... Success! Cleaning up... All done! If you've completed all of the above steps, your MariaDB installation should now be secure. Thanks for using MariaDB!
然后使用 MySQL 的 root 帳戶(不同于 Linux 的 root 帳戶,剛才設置密碼了)登錄進去
# mysql -u root -p
輸入密碼后回車,下面是輸出示例,可以看到命令提示符變為 MariaDB [(none)]>
Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 20 Server version: 5.5.44-MariaDB MariaDB Server Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]>
建一個新數據庫給 WordPress 用(這里取名為 wpzning,也可以用別的名字)
MariaDB [(none)]> create database wpzning;
創建一個新用戶,并將該數據庫的權限賦給他(這里只是舉例,用戶名為 zningwp_us,密碼為 zningwp2016)
MariaDB [(none)]> grant all on wpzning.* to 'zningwp_us' identified by 'zningwp2016';
更新權限
MariaDB [(none)]> flush privileges;
退出數據庫
MariaDB [(none)]> quit
執行大體輸出如下:
MariaDB [(none)]> create database wpzning; Query OK, 1 row affected (0.00 sec) MariaDB [(none)]> grant all on wpzning.* to 'zningwp_us' identified by 'zningwp2016'; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> flush privileges; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> quit Bye
備份配置文件,
# cp /etc/my.cnf ~/zningbak/my.cnf.bak
其它的先不做了,回頭用圖形界面的 phpMyAdmin 來做。
安裝 PHP5
# yum install -y php
備份配置文件 /etc/php.ini
,還有 php.conf
以及 10-php.conf
,
# cp /etc/php.ini ~/zningbak/php.ini.bak # cp /etc/httpd/conf.d/php.conf ~/zningbak/httpd/conf.d/php.conf.bak # cp /etc/httpd/conf.modules.d/10-php.conf ~/zningbak/httpd/conf.modules.d/10-php.conf.bak
并確保 /etc/php.ini
中有下面的語句(不同的就修改,沒有的就添加,某些數值可以后再調整,這是針對一個簡單的運行 WordPress 的服務器的配置):
error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR display_errors = Off log_errors = On max_execution_time = 300 memory_limit = 32M
安裝 PHP-MYSQL
為了在 PHP 中使用 MySQL,還需要安裝這個 php-mysql 包:
# yum install -y php-mysql
Remi 安裝源上有最新的 PHP、MySQL 以及 phpMyAdmin 的 Yum 安裝包,可以方便安裝、更新。但是正在使用的 Linux 發行版 CentOS 7 上的軟件包可能版本上要求不一樣,所以使用 Yum 安裝源優先級插件來進行控制。
安裝使用 EPEL REPOSITORY
選擇合適的源地址來安裝,參考方法:安裝使用 EPEL 安裝源。
到 EPEL 主頁:
http://fedoraproject.org/wiki/EPEL#How_can_I_use_these_extra_packages.3F
找到 The newest version of ‘epel-release’ for EL7,點擊打開新頁面,復制 epel-release-latest-7.noarch.rpm 的鏈接(數字可能有變化,當前版本是 7)。采用下面的方法直接安裝:
# yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
安裝PHPMYADMIN
# yum install -y phpmyadmin
配置
phpMyAdmin 的默認安裝目錄是 /usr/share/phpMyAdmin
,同時會在 Apache 的配置文件目錄中自動創建虛擬主機配置文件 /etc/httpd/conf.d/phpMyAdmin.conf
(區分大小寫)。
同樣的,先備份配置文件以防修改出現錯誤,
# cp /etc/httpd/conf.d/phpMyAdmin.conf ~/zningbak/httpd/conf.d/phpMyAdmin.conf.bak
然后修改配置文件(vim /etc/httpd/conf.d/phpMyAdmin.conf
)中有設置:
Alias /phpMyAdmin /usr/share/phpMyAdmin Alias /phpmyadmin /usr/share/phpMyAdmin
也就是說,我們可以通過綁定到 Apache 服務器上的任何域名訪問 phpMyDdmin。比如這里可以通過 zning.net/phpmyadmin 或者 zning.net/phpMyAdmin 訪問。但是這樣一來,phpMyAdmin 的內容就與網站內容混到一起了,感覺 phpMyAdmin 成了網站的一個目錄。但實際上我們并不希望別人也去訪問這個頁面。所以我們使用習慣的地址加端口 3366(而不是默認的 80 端口,換成自己喜歡的端口就行,再比如 3344)的方式,即 IP:port/phpMyAdmin 的鏈接形式訪問 phpMyAdmin,加 # 注釋掉上面的 Apache Alias 規則:
#Alias /phpMyAdmin /usr/share/phpMyAdmin #Alias /phpmyadmin /usr/share/phpMyAdmin
并將
<Directory /usr/share/phpMyAdmin/> ......... </Directory>
里面的
Require ip 127.0.0.1 Require ip ::1
改成
Require all granted
保存退出,使之可以從任何地方都可以訪問。如果本地電腦是固定 IP 的,為了安全,也可以將上面的Require all granted
改成 Require ip <your-local-ip>
。咱的 ADSL 就享受不到這樣的待遇了。
因為在前面創建虛擬主機配置文件 /etc/httpd/conf.d/vhost.conf
的時候已經為 phpMyAdmin 配置了一個端口為 2082 的虛擬主機,只能通過該虛擬主機(端口)訪問 phpMyAdmin。因為/srv/www/phpmyadmin/public_html
配置為 phpMyAdmin 的虛擬主機目錄,為該目錄創建符號連接到 phpMyAdmin 安裝目錄(/usr/share/phpMyAdmin
):
# ln -sf /usr/share/phpMyAdmin /srv/www/phpmyadmin/html
備份然后修改 phpMyAdmin 的配置文件,
# cp /etc/phpMyAdmin/config.inc.php ~/zningbak/config.inc.php.bak
編輯文件:
# vim /etc/phpMyAdmin/config.inc.php
找到其中的如下代碼段:
$cfg['blowfish_secret'] = '這里隨便填上一串亂七八糟的字符即可,字母、數字等,長度最好大于 16 個';
按照上面的提示填寫 blowfish_secret
字符串。其他的不用修改,保存并退出。
重起 APACHE 使配置生效
# systemctl restart httpd
現在就可以通過 ip:port/phpMyAdmin
(將 IP 換為你騰訊云服務器的 IP,端口為前面設置的 phpmyadmin 的虛擬主機端口,注意大小寫)訪問 phpMyAdmin 了。
使用前面創建的用戶名和密碼(2.3.4 中 grant 語句中包含的用戶名和密碼)登錄 phpMyAdmin。
###安裝WordPress
域名配置
首先配置域名DNS,這里以DNSPod為示例演示,截圖中也有對相關記錄的解釋,接下來的其他方法也可通過此教程來配置域名解析。
DNSPod解析詳解如圖:
安裝
轉移目錄到相關目錄
# cd /srv/www/qcloud.zning.net/html
下載WordPress
# wget https://cn.wordpress.org/wordpress-4.5.2-zh_CN.tar.gz
解壓文件
# tar zxvf wordpress-4.5.2-zh_CN.tar.gz
移動文件
# mv /srv/www/qcloud.zning.net/html/wordpress/* /srv/www/qcloud.zning.net/html
訪問網址qcloud.zning.net
,進行最后一步的安裝。
輸入已經創建的數據庫信息:
這一步出錯的原因是,網站本身對html文件夾沒有讀寫權限,具體解決方案可以查看本節參考資料鏈接中關于網站用戶權限的講解。此處我們可以按照提示,通過ssh,輸入vim /srv/www/qcloud.zning.net/html/wp-config.php
來創建,并復制WordPress已經提供的內容,保存繼續即可
到這里說明已經連接了數據庫,提供網站管理信息就可以繼續安裝咯。
儀表盤控制后臺界面:
Nginx是一款輕量級的Web 服務器,并在一個BSD-like 協議下發行。由俄羅斯的程序設計師Igor Sysoev所開發,供俄國大型的入口網站及搜索引擎Rambler使用。其特點是占有內存少,并發能力強。
下面,我們就介紹一下在Nginx配置單網站模式的WordPress,以供參考。
安裝Nginx:
# yum install -y nginx
使Nginx能夠開機自啟:
# systemctl enable nginx
輸出結果類似于,
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.
重新啟動Nginx:
# systemctl restart nginx.service
安裝完成后,訪問IP地址,出現如下圖頁面的歡迎界面,即說明已經完成安裝了。
在這個頁面我們看到
This is the default index.html page that is distributed with nginx on Fedora. It is located in /usr/share/nginx/html.You should now put your content in a location of your choice and edit the root configuration directive in the nginx configuration file /etc/nginx/nginx.conf.
這兩句話,這里告訴我們Nginx默認的配置文件在哪里,以及訪問路徑在哪里,也就是我們需要放置WordPress的路徑在哪里。先記下來,等會有用
這里的Nginx是最簡單的安裝方法,其實最合適的安裝方法還是在本地環境交叉編譯完成后進行的安裝,也不算特別麻煩,教程詳見:nginx服務器安裝及配置文件詳解
此步與上節相同,請參照上節相關子節的步驟進行即可。
不過按照上節步驟安裝完PHP之后,需要安裝一個php-fpm插件才行
# yum install -y php-fpm
創建守護進程,并設置自啟并啟動:
# systemctl enable php-fpm # systemctl start php-fpm
輸出如下的類似內容:
Created symlink from /etc/systemd/system/multi-user.target.wants/php-fpm.service to /usr/lib/systemd/system/php-fpm.service.
配置完成并啟動后,我們通過如下命令可以看到進程的監聽狀態:
# netstat -antl|grep 9000 # ps -ef|grep php-cgi
輸出如下的類似內容:
[root@QCLOUD share]# ps -ef|grep php-cgi root 12838 8024 0 10:23 pts/0 00:00:00 grep --color=auto php-cgi [root@QCLOUD share]# netstat -antl|grep 9000 tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN
首先配置nginx.conf
,通過如下命令進入編輯器:
# vim /etc/nginx/nginx.conf
在
location / { index index.html index.php; }
中添加
index index.html index.php;
并在}
后另起一行,添加如下內容:
location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
添加完成后,server
代碼區段的代碼情況如下:
location / { index index.html index.php; } location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
然后,進入剛才所列的路徑:
# cd /usr/share/nginx/html
下載WordPress
# wget https://cn.wordpress.org/wordpress-4.5.2-zh_CN.tar.gz
這里可能受服務器影響,北京機房下載速度不錯,上海可能慢點。
解壓文件
# tar zxvf wordpress-4.5.2-zh_CN.tar.gz
更改與備份html文件夾現有文件:
# mv index.html index.html.bak
移動文件
# mv /usr/share/nginx/html/wordpress/* /usr/share/nginx/html
訪問你服務器的IP地址,進行最后一步的安裝。
到此,相信大家對“建立WordPress的方法有哪些”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。