Ubuntu 20.04 上搭建 LEMP/LAMP 環境運行 WordPress

Ubuntu 20.04 上搭建 LEMP 環境運行 WordPress

Wordpress 是最流行的內容管理系統之一,也是常用的 CMS(內容管理系統)程序之一。Wordpress 可以在 VPS 上以多種方式安裝,除了上一篇文章講解的LAMP軟件環境運行Wordpress外,本次講解同樣非常流行的軟件環境LEMP ( Linux + Nginx + MySQL + PHP )。

本教程講解如何在 Ubuntu 20.04 上搭建 LEMP 環境運行 WordPress,學習後你可以輕鬆在自己的 VPS 上搭建使用 LEMP 軟件環境的 Wordpress 博客。

第一步,準備 Ubuntu 20.04 系統環境

Wordpress 程序安裝前,需要準備安裝了 Ubuntu 20.04 TLS 系統的 VPS。你可以通過阿里雲,騰訊雲購買性價比高的 VPS。

購買 VPS 後,你可以獲取到 VPS 的相關信息,包括 IP 地址,root帳號密碼等。默認購買的 VPS 都開啓 SSH 服務,你可以通過以下命令的方式 SSH 到 VPS 上進行一系列操作了。
爲安全起見,建議你使用 root 登錄 VPS 後創建一個具有 sudo 權限的帳號。

ssh root@你VPS的IP地址

第二步、安裝 Nginx

Apache Http Server 是一個開源的,非常流行,使用非常廣泛的網頁服務器軟件。在 Ubuntu 20.04 系統中我們可以通過以下命令安裝 Apache Http Server。

sudo apt update
sudo apt nginx

使用前面建議創建的非 root 帳號安裝時,需要使用 sudo 命令。首次使用 sudo 時系統會提示輸入密碼,根據提示輸入密碼後回車即可。

安裝完成後,nginx並不是默認自動啓動,通過以下命令啓動nginx:

sudo systemctl start nginx

啓動完成後,可以輸入以下命令查看 nginx 運行狀態

systemctl status nginx.service

輸出內容類似內容:

● nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2020-06-28 02:47:42 UTC; 5s ago
       Docs: man:nginx(8)
    Process: 49088 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 49099 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 49100 (nginx)
      Tasks: 2 (limit: 1075)
     Memory: 8.3M
     CGroup: /system.slice/nginx.service
             ├─49100 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             └─49101 nginx: worker process

默認情況,Ubuntu 20.04 TLS 中使用 UFW 管理防火牆。防火牆需要允許 http(80) 和 https(443) 通訊,可以通過以下命令配置:

sudo ufw allow 80
sudo ufw allow 443

如果 ufw 沒有啓動,建議啓動防火牆,這樣可以增加 VPS 系統安全性。

關於如何安裝,查看,啓停 UFW ,如何配置防火牆,可以查看如何在 Ubuntu 上使用 UFW 設置防火牆。

可以通過http://your_server_ip訪問,您將看到默認的Ubuntu Apache 歡迎頁面,效果圖如下:
在這裏插入圖片描述
nginx可以正常工作了。

第三步、安裝 MySQL

這一步我們來安裝 MySQL,非常簡單,運行如下命令即可:

sudo apt install mysql-server

如果需要密碼,輸入密碼即可。之後,安裝過程中一路下來默認根據提示默認輸入Y,按回車即可。

安裝完成後,MySQL 數據庫默認啓動,我們可以通過如下命令查看其運行狀態 。

sudo systemctl status mysql

輸出結果類似如下:

● mysql.service - MySQL Community Server
     Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2020-06-23 08:51:37 UTC; 5 days ago
   Main PID: 787 (mysqld)
     Status: "Server is operational"
      Tasks: 41 (limit: 1075)
     Memory: 145.0M
     CGroup: /system.slice/mysql.service
             └─787 /usr/sbin/mysqld

MySQL 安裝完成後,爲安全起見,建議運行 MySQL 的安全配置,設置 root 密碼等,運行如下命令:

sudo mysql_secure_installation

選擇密碼策略,設置 root 密碼,之後一路提示默認輸入 y,回車即可。

第四步、安裝 PHP

要顯示動態內容,正常運行 Wordpress 我們需要安裝 PHP,安裝命令如下:

sudo apt install php-fpm php-opcache php-cli php-gd php-curl php-mysql
至此,PHP 及可能用到的擴展安裝完成。

第五步、使用 Let` Encrypt 加密使用 Nginx 的 Wordpress 網站

自動安裝Let’s Encrypt ,因爲涉及到要驗證域名,所以請提前將你的域名解析到你的VPS主機上。

這裏推薦你訪問 https://certbot.eff.org/ 網站,使用 certbot 工具來自動配置。

登錄系統後,根據你實際站點的運行環境選擇 web 容器,運行操作系統,如下圖所示:
在這裏插入圖片描述
選擇之後,下方會自動出現操作步驟,你只需要按操作步驟在你係統上執行相應的命令即可。

注意,命令執行之前你的域名已經配置解析到你的VPS並且已經生效,否則生成證書過程會失敗。

以下是配置好後,linux265.conf 的配置文件內容,供參考!

# Redirect HTTP -> HTTPS
server {
    listen 80;
    server_name www.example.com example.com;

    include snippets/letsencrypt.conf;
    return 301 https://example.com$request_uri;
}

# Redirect WWW -> NON WWW
server {
    listen 443 ssl http2;
    server_name www.example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
    include snippets/ssl.conf;

    return 301 https://example.com$request_uri;
}

server {
    listen 443 ssl http2;
    server_name example.com;

    root /var/www/html/example.com;
    index index.php;

    # SSL parameters
    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
    include snippets/ssl.conf;
    include snippets/letsencrypt.conf;

    # log files
    access_log /var/log/nginx/example.com.access.log;
    error_log /var/log/nginx/example.com.error.log;

    location = /favicon.ico {
        log_not_found off;
        access_log off;
    }

    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.2-fpm.sock;
    }

    location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
        expires max;
        log_not_found off;
    }
}

運行以下命令來驗證配置文件的正確性:

sudo nginx -t

如果檢測沒有問題,可以通過以下命令重新載入配置文件:

sudo nginx -s reload

如果你想重新啓動nginx服務,可以通過以下命令:

sudo systemctl restart nginx

第六步、安裝 Wordpress

安裝Wordpress之前,需要先創建對應數據庫及帳號用於安裝wordpress使用。

sudo mysql

創建 Wordpress運行需要的數據庫和帳號,這裏使用的數據庫名wdpressdb,用戶名wdpressuser,密碼WdPress&Password123 可以根據自己需要修改。

CREATE DATABASE wdpressdb DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
CREATE USER 'wdpressuser'@'localhost' IDENTIFIED BY 'WdPress&Password123';
GRANT ALL ON wdpressdb.* TO 'wdpressuser'@'localhost' IDENTIFIED BY 'WdPress&Password123';
GRANT ALL PRIVILEGES ON *.* TO 'wdpressuser'@'localhost';

需要注意,這裏使用的默認安裝的 MySQL 8.0.20。

成功創建完成後,輸入以下命令,更新變更。

FLUSH PRIVILEGES;

最後,我們開始下載wordpress軟件包,並部署wordpress,我們先通過cd命令轉入tmp目錄。

cd tmp

使用curl命令下載最新版本的wordpress。

curl -O https://wordpress.org/latest.tar.gz

下載完成後,通過tar命令解壓軟件包。

sudo tar xzvf latest.tar.gz

解壓後,通過cd命令進入wordpress目錄,使用mv命令重命名 wp-config-sample.php 文件爲 wp-config.php。

cd /tmp/wordpress
sudo mv /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php

通過cp命令將文件內容拷貝到/var/www/html/example.com目錄中。

sudo cp -a /tmp/wordpress/. /var/www/html/example.com

爲避免任何權限問題,我們可以將域文檔根目錄的所有權使用chown命令更改爲 apache 用戶(www-data):

sudo chown -R www-data: /var/www/html/example.com

至此,配置完成,下一步我們將進入 Wordpress 運行配置界面。

在瀏覽器中輸入https://example.com(你自己的域名),你會看到如下配置界面:
在這裏插入圖片描述
點擊 “Let`s go!”,進入數據庫連接配置界面,如下圖所示:
在這裏插入圖片描述
這裏我們輸入之前創建的數據庫,用戶名,密碼。點擊 “Submit”,繼續。
在這裏插入圖片描述
出現這個界面,點擊 “Run the installation”,繼續。
在這裏插入圖片描述
這裏就輸入站點名稱,管理帳號名稱及密碼,email等內容後,點擊"Install Wordpress"完成Wordpress安裝。

至此,我們完成了Wordpress的安裝,來看下默認的效果界面。

地址輸入:https://example.com ,效果如下:

(這裏的域名僅做驗收使用,實際情況下需要你配置自己的域名)
在這裏插入圖片描述
剩下的事情就是登錄 Wordpress 的管理界面,安裝你喜歡的主題,開始你的 Wordpress 之旅吧。

Ubuntu 20.04 上搭建 LAMP 環境運行 WordPress

Wordpress 是最流行的內容管理系統之一,也是常用的Blog程序之一。Wordpress 可以在 VPS 上以多種方式安裝,其中常用的軟件環境之一就是 LAMP ( Linux + Apache + MySQL + PHP )。

本教程講解如何在 Ubuntu 20.04 上搭建 LAMP 環境運行 WordPress,學習後你可以輕鬆在自己的 VPS 上搭建Wordpress博客。

第一步,準備 Ubuntu 20.04 系統環境

Wordpress 程序安裝前,需要準備安裝了 Ubuntu 20.04 TLS 系統的 VPS。你可以通過阿里雲,騰訊雲購買性價比高的 VPS。

購買 VPS 後,你可以獲取到 VPS 的相關信息,包括 IP 地址,root帳號密碼等。默認購買的 VPS 都開啓 SSH 服務,你可以通過以下命令的方式 SSH 到 VPS 上進行一系列操作了。

ssh root@你VPS的IP地址

爲安全起見,建議你使用 root 登錄 VPS 後創建一個具有 sudo 權限的帳號。

第二步、安裝和配置 Apache 2

Apache Http Server 是一個開源的,非常流行,使用非常廣泛的網頁服務器軟件。在 Ubuntu 20.04 系統中我們可以通過以下命令安裝 Apache Http Server。

sudo apt updatesudo apt install apache2

使用前面建議創建的非 root 帳號安裝時,需要使用 sudo 命令。首次使用 sudo 時系統會提示輸入密碼,根據提示輸入密碼後回車即可。

安裝完成後,apache默認自動啓動,通過以下命令查看 apache 運行狀態:

sudo systemctl status apache2

輸出類似內容:

● apache2.service - The Apache HTTP Server   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset:    Active: active (running) since Sat 2020-06-17 13:55:49 PDT; 21s ago   ...

默認情況,Ubuntu 20.04 TLS 中使用 UFW 管理防火牆。防火牆需要允許 http(80) 和 https(443) 通訊,可以通過以下命令配置:

sudo ufw allow 80sudo ufw allow 443

如果 ufw 沒有啓動,建議啓動防火牆,這樣可以增加 VPS 系統安全性。

關於如何安裝,查看,啓停 UFW ,如何配置防火牆,可以查看如何在 Ubuntu 上使用 UFW 設置防火牆。

可以通過http://your_server_ip訪問,您將看到默認的Ubuntu Apache 歡迎頁面,效果圖如下:
在這裏插入圖片描述

第三步、安裝 MySQL

這一步我們來安裝 MySQL,非常簡單,運行如下命令即可:

sudo apt install mysql-server

如果需要密碼,輸入密碼即可。之後,安裝過程中一路下來默認根據提示默認輸入Y,按回車即可。

安裝完成後,MySQL 數據庫默認啓動,我們可以通過如下命令查看其運行狀態 。

sudo systemctl status mysql

輸出結果類似如下:

● mysql.service - MySQL Community Server     Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)     Active: active (running) since Tue 2020-06-23 08:51:37 UTC; 2min 42s ago   Main PID: 787 (mysqld)     Status: "Server is operational"      Tasks: 38 (limit: 1075)     Memory: 342.8M     CGroup: /system.slice/mysql.service             └─787 /usr/sbin/mysqld

MySQL 安裝完成後,爲安全起見,建議運行 MySQL 的安全配置,設置 root 密碼等,運行如下命令:

sudo mysql_secure_installation

選擇密碼策略,設置 root 密碼,之後一路提示默認輸入 y,回車即可。

第四步、安裝 PHP

要顯示動態內容,正常運行 Wordpress 我們需要安裝 PHP,安裝命令如下:

sudo apt install phpsudo apt install libapache2-mod-phpsudo apt install php-mysql

其中軟件包 libapache2-mod-php 和 php-mysql 用來實現 Apache 和 MySQL 的擴展支持。當然爲了更好支持Wordpress運行,還需要安裝以下擴展,命令如下:

sudo apt install php-curl php-gd php-xml php-mbstring  php-xmlrpc php-zip php-soap php-intl

至此,PHP 及可能用到的擴展安裝完成。

第五步、安裝 Wordpress

安裝Wordpress之前,還需要對Apache進行簡單的配置創建虛擬機配置文件用於網站。假設,你的購買的域名是www.example.com。

首先,進入/etc/apache2/sites-available/目錄,使用touch命令創建example.com.conf文件,文件內容如下:

<VirtualHost *:80>    ServerName example.com    ServerAlias www.example.com    ServerAdmin webmaster@example.com    DocumentRoot /var/www/example.com/public_html    <Directory /var/www/example.com/public_html>        Options -Indexes +FollowSymLinks        AllowOverride All    </Directory>    ErrorLog ${APACHE_LOG_DIR}/example.com-error.log    CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined</VirtualHost>

內容編輯完成後,保存內容。

接下來,您可以啓用 mod_rewrite 以使用 WordPress 永久鏈接功能。可以使用以下方法完成此操作:

sudo a2enmod rewrite

啓用配置後,測試語法是否正確:

sudo apachectl configtest

要使更改生效,請使用以下命令重新啓動 apache2 服務:

sudo systemctl restart apache2

其次,登錄終端,輸入如下命令:

sudo mysql

創建 Wordpress運行需要的數據庫和帳號,這裏使用的數據庫名wdpressdb,用戶名wdpressuser,密碼WdPress&Password123 可以根據自己需要修改。

CREATE DATABASE wdpressdb DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;CREATE USER 'wdpressuser'@'localhost' IDENTIFIED BY 'WdPress&Password123';GRANT ALL ON wdpressdb.* TO 'wdpressuser'@'localhost' IDENTIFIED BY 'WdPress&Password123';GRANT ALL PRIVILEGES ON *.* TO 'wdpressuser'@'localhost';

需要注意,這裏使用的默認安裝的 MySQL 8.0.20。

成功創建完成後,輸入以下命令,更新變更。

FLUSH PRIVILEGES;

最後,我們開始下載wordpress軟件包,並部署wordpress,我們先通過cd命令轉入tmp目錄。

cd tmp

使用curl命令下載最新版本的wordpress。

curl -O https://wordpress.org/latest.tar.gz

下載完成後,通過tar命令解壓軟件包。

sudo tar xzvf latest.tar.gz

解壓後,通過cd命令進入wordpress目錄,使用mv命令重命名 wp-config-sample.php 文件爲 wp-config.php。

cd /tmp/wordpresssudo mv /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php

通過cp命令將文件內容拷貝到/var/www/example.com目錄中。

sudo cp -a /tmp/wordpress/. /var/www/example.com

爲避免任何權限問題,我們可以將域文檔根目錄的所有權使用chown命令更改爲 apache 用戶(www-data):

sudo chown -R www-data: /var/www/example.com

至此,配置完成,下一步我們將進入 Wordpress 運行配置界面。

在瀏覽器中輸入http://www.example.com(你自己的域名),你會看到如下配置界面:
在這裏插入圖片描述
點擊 “Lets go!”,進入數據庫連接配置界面,如下圖所示:[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-lkTp0xwM-1593484444084)(https://linux265.com/static/images/upload/image-20200623190551023.jpg)] 這裏我們輸入之前創建的數據庫,用戶名,密碼。點擊 “Submit”,繼續。[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-Ti7U392x-1593484444086)(https://linux265.com/static/images/upload/image-20200623191158919.jpg)] 出現這個界面,點擊 “Run the installation”,繼續。[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-CciSmE0A-1593484444088)(https://linux265.com/static/images/upload/image-20200623191241204.jpg)] 這裏就輸入站點名稱,管理帳號名稱及密碼,email等內容後,點擊"Install Wordpress"完成Wordpress安裝。至此,我們完成了Wordpress的安裝,來看下默認的效果界面。地址輸入:http://example.com` ,效果如下:

(這裏的域名僅做驗收使用,實際情況下需要你配置自己的域名)
在這裏插入圖片描述
剩下的事情就是登錄 Wordpress 的管理界面,安裝你喜歡的主題,開始你的 Wordpress 之旅吧。

第六步、使用 Let` Encrypt 加密 Apache 網站

這裏推薦你訪問 https://certbot.eff.org/ 網站,使用 certbot 工具來自動配置。

登錄系統後,根據你實際站點的運行環境選擇 web 容器,運行操作系統,如下圖所示:
在這裏插入圖片描述

參考鏈接

在 Ubuntu 20.04 上搭建 LAMP 環境運行 WordPress https://mp.weixin.qq.com/s/hYS4Fss0W2Vrr_FXLQKa5Q

Ubuntu 20.04 上搭建 LEMP 環境運行 WordPress : https://mp.weixin.qq.com/s/oNCDZ_5oqxSnYtthHLYDkA

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章