阿里雲 ECS 部署 WordPress 博客

阿里雲官網 發佈 2020-01-07T07:38:20+00:00

今天在 阿里雲 ECS上 部署了一套 Lamp 系統,建了一個WordPress的網站,把操作過程記錄下來,文中所列腳本可以直接應用。安裝Nginx登錄彈性雲伺服器。執行以下命令,下載對應當前系統版本的Nginx包。wget http://nginx.

今天在 阿里雲 ECS上 部署了一套 Lamp 系統,建了一個WordPress的網站,把操作過程記錄下來,文中所列腳本可以直接應用。

安裝Nginx

登錄彈性雲伺服器。
執行以下命令,下載對應當前系統版本的Nginx包。

wget http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

執行以下命令,建立Nginx的yum倉庫。

rpm -ivh nginx-release-centos-7-0.el7.ngx.noarch.rpm

執行以下命令,安裝Nginx。

yum -y install nginx

執行以下命令,啟動Nginx並設置開機啟動。

systemctl start nginx
systemctl enable nginx

使用瀏覽器訪問 「http://伺服器IP位址」,顯示如下頁面,說明Nginx安裝成功。
點擊放大

安裝MySQL。

依次執行以下命令,安裝MySQL。

rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm

yum -y install mysql-community-server

依次執行以下命令,啟動MySQL服務並設置開機自啟動。

systemctl start mysqld
systemctl enable mysqld

執行以下命令,獲取安裝MySQL時自動設置的root用戶密碼。

grep 'temporary password' /var/log/mysqld.log

回顯如下類似信息。

2018-08-29T07:27:37.541944Z 1 [Note] A temporary password is generated for root@localhost: 2YY?3uHUA?Ys

執行以下命令,並按照回顯提示信息進行操作,加固MySQL。

mysql_secure_installation

接下來按照提示操作:

Securing the MySQL server deployment.

Enter password for user root:    #輸入上一步驟中獲取的安裝MySQL時自動設置的root用戶密碼
The existing password for the user account root has expired. Please set a new password.

New password:  #設置新的root用戶密碼

Re-enter new password:   #再次輸入密碼
The 'validate_password' plugin is installed on the server.
The subsequent steps will run with the existing configuration of the plugin.
Using existing password for root.

Estimated strength of the password: 100
Change the password for root ? ((Press y|Y for Yes, any other key for No) : N   #是否更改root用戶密碼,輸入N

 ... skipping.
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL 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? (Press y|Y for Yes, any other key for No) : 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? (Press y|Y for Yes, any other key for No) : Y   #禁止root遠程登錄,輸入Y
Success.

By default, MySQL 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? (Press y|Y for Yes, any other key for No) : Y   #是否刪除test庫和對它的訪問權限,輸入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? (Press y|Y for Yes, any other key for No) : Y   #是否重新加載授權表,輸入Y
Success.

All done!

安裝PHP

依次執行以下命令,安裝PHP 7和一些所需的PHP擴展。

rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum -y install php70w-tidy php70w-common php70w-devel php70w-pdo php70w-mysql php70w-gd php70w-ldap php70w-mbstring php70w-mcrypt php70w-fpm

執行以下命令,驗證PHP的安裝版本。

php -v

回顯如下類似信息:

PHP 7.0.31 (cli) (built: Jul 20 2018 08:55:22) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies

執行以下命令,啟動PHP服務並設置開機自啟動。

systemctl start php-fpm
systemctl enable php-fpm

修改Nginx配置文件以支持PHP

執行以下命令打開配置文件「default.conf」。

vim /etc/nginx/conf.d/default.conf

按i鍵進入編輯模式。
修改打開的「default.conf」文件。
在所支持的主頁面格式中添加php格式的主頁,如下所示:

 location / {
        root   /usr/share/nginx/html;
        index index.php index.html index.htm;
    }


取消如下內容的注釋,並設置字體加粗部分為Nginx的默認路徑,如下圖所示:

  location ~ \.php$ {
        root           html;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;
        include        fastcgi_params;
    }

按Esc鍵退出編輯模式,並輸入:wq保存後退出。
執行以下命令,重新載入nginx的配置文件。

service nginx reload

瀏覽器訪問測試

在/usr/share/nginx/html目錄下創建「info.php」的測試頁面。
執行以下命令創建並打開「info.php」的測試文件。

vim /usr/share/nginx/html/info.php

按i鍵進入編輯模式。

修改打開的「info.php」文件,將如下內容寫入文件。

<?php
 phpinfo();
?>

按Esc鍵退出編輯模式,並輸入:wq保存後退出。
使用瀏覽器訪問「http://伺服器IP位址/info.php」,顯示如下頁面,說明環境搭建成功。
點擊放大

創建資料庫

執行以下命令,並按照提示信息輸入MySQL的root用戶,登錄到MySQL命令行。

mysql -u root -p

執行以下命令,創建一個新的資料庫。

CREATE DATABASE wordpress;

其中,「wordpress」為資料庫名,可以自行設置。

執行以下命令,為資料庫創建用戶並為用戶分配資料庫的完全訪問權限。

GRANT ALL ON wordpress.* TO wordpressuser@localhost IDENTIFIED BY 'PASSWORD123';

其中,「wordpressuser」為資料庫用戶名,「PASSWORD123」為對應的帳戶密碼,可以自行設置。

執行以下命令,退出MySQL命令行。

exit

(可選)依次執行以下命令,驗證資料庫和用戶是否已成功創建,並退出MySQL命令行。

mysql -u wordpressuser -p

SHOW DATABASES;

exit

其中,「wordpressuser」為剛剛創建的資料庫用戶名。

安裝WordPress

從WordPress官網獲取WordPress軟體包並上傳至/usr/share/nginx/html目錄。
命令行下載參考

wget http://wordpress.org/latest.tar.gz

由於WordPress官方網站被攻擊,導致國內用戶訪問WordPress網站的時候會提示429 Too Many Requests錯誤,所以使用國內伺服器的朋友很難從官網下載新版版本的WordPress安裝包,這裡給大家分享一下從官網下載下來的新版版的WordPress安裝文件,有需要的可以自己下載了。

可以使用SCP的方式上傳,

scp /Users/bingyue/Downloads/wordpress-5.3.2.tar.gz root@33.44.55.66:/opt  

後續操作軟體包以「wordpress-5.3.2-zh_CN.tar.gz」為例。

執行以下命令,解壓縮軟體包。

tar -xvf wordpress-5.3.2-zh_CN.tar.gz

解壓後生成一個「wordpress」的文件夾。

執行以下命令,設置解壓後的文件權限。

chmod -R 777 wordpress

瀏覽器訪問「http://伺服器IP位址/wordpress」進入安裝嚮導。

作者:邴越

關鍵字: