如何在Ubuntu 2上使用Varnish和Apache設置Magento 16.04

 

Magento是一個免費的開源內容管理系統,內置PHP,Zend框架和MySQL數據庫。 它是非常受歡迎的電子商務Web應用程序,運行在許多開源應用程序之上,如Apache,MySQL等等。 Magento附帶了許多用於添加更多功能的內置模塊。

Varnish Cache是​​一個功能強大的開源Web應用程序加速器,也稱為緩存HTTP反向代理。 它用於在用戶首次訪問時通過緩存網頁副本來加速您的網站。 Magento和Varnish是一種眾所周知的組合,可顯著提高網站性能。 默認情況下,Varnish集成在Magento 2中。 您只需進行一些配置更改即可使其正常工作。

在本教程中,我們將學習如何在Vbuish上安裝Magento 2作為Ubuntu 16.04服務器上的整頁緩存。

要求

  • 運行Ubuntu 16.04的服務器。
  • Apache,PHP和MariaDB。
  • 在您的服務器上設置了sudo權限的非root用戶。

1入門

在開始之前,建議通過運行以下命令使用最新的軟件包更新系統:

sudo apt-get update -y
sudo apt-get upgrade -y

一旦您的系統是最新的,重新啟動系統並使用sudo用戶登錄。

2安裝LAMP服務器

如果不安裝LAMP堆棧(Apache,PHP,MariaDB),Magento將無法運行。 首先,通過運行以下命令來安裝Apache Web服務器和清漆:

sudo apt-get install apache2 varnish -y

安裝Apache後,啟動Apache服務並通過運行以下命令使其在啟動時啟動:

sudo systemctl啟動apache2
sudo systemctl啟用apache2

Magento是用PHP語言編寫的,因此您還需要將PHP與所有庫一起安裝到您的系統中。 您可以通過運行以下命令來安裝所有這些:

sudo apt-get install php7.0 libapache2-mod-php7.0 php7.0-mbstring php7.0-mysql php7.0-mcrypt php7.0-xsl php-imagick php7.0-gd php7.0-cli php-pear php7.0-intl php7.0-curl php7.0-zip php7.0-gd php7.0-soap php7.0-xml -y

在安裝PHP以及所有必需的庫之後,您將需要更改一些默認的PHP設置。 你可以通過編輯php.ini文件來做到這一點:

sudo nano /etc/php/7.0/cli/php.ini

更改以下行:

memory_limit = 512 upload_max_filesize = 128M zlib.output_compression =在max_execution_time = 15000

完成後保存並關閉文件。

3安裝和配置MariaDB

Magento使用MariaDB作為數據庫。 因此,您需要將其安裝到您的服務器上。 您只需運行以下命令即可安裝它:

sudo apt-get install mariadb-server -y

安裝MariaDB後,啟動MariaDB服務並通過運行以下命令使其在啟動時啟動:

sudo systemctl啟動mysql
sudo systemctl啟用mysql

默認情況下,MariaDB不受保護,因此您需要保護它。 您可以通過運行以下命令來保護它:

sudo mysql_secure_installation

回答所有問題,如下所示:

注意:建議在生產中使用所有MariaDB服務器運行此腳本的所有部分! 請仔細閱讀每一步! 為了登錄MariaDB進行保護,我們需要root用戶的當前密碼。 如果您剛剛安裝了MariaDB,但尚未設置root密碼,那麼該密碼將為空,因此您只需在此處按Enter。 輸入root的當前密碼(不輸入密碼):確定,成功使用密碼,繼續...設置root密碼可確保未經適當授權,沒有人可以登錄MariaDB root用戶。 您已經設置了root密碼,因此可以安全地回答“ n”。 更改root密碼? [Y / n] n ...正在跳過。 默認情況下,MariaDB安裝有一個匿名用戶,允許任何人登錄而無需為他們創建用戶帳戶。 這僅用於測試,並使安裝過程更流暢。 在進入生產環境之前,應先刪除它們。 刪除匿名用戶? [是/否]是...成功! 通常,僅應允許root從'localhost'連接。 這樣可以確保某人無法猜測網絡中的root密碼。 禁止遠程登錄? [是/否]是...成功! 默認情況下,MariaDB帶有一個名為“ test”的數據庫,任何人都可以訪問。 這也僅用於測試,應在移入生產環境之前將其刪除。 刪除測試數據庫並訪問它? [是/否]是-刪除測試數據庫... ...成功! -刪除測試數據庫的特權……成功! 重新加載特權表將確保到目前為止所做的所有更改將立即生效。 現在重新加載權限表? [是/否]是...成功! 清理...完成! 如果完成上述所有步驟,則MariaDB安裝現在應該是安全的。 感謝您使用MariaDB!

接下來,使用以下命令登錄MariaDB shell:

mysql -u root -p

在提示時輸入root密碼,然後使用以下命令為Magento創建數據庫:

MariaDB [(無)]>創建數據庫magento_db;

為Magento創建數據庫後,使用以下命令創建用戶名和密碼:

MariaDB [(無)]>創建用戶'magento'@'localhost'由'password'標識;

接下來,使用以下命令為Magento數據庫授予權限:

MariaDB [(無)]>將所有特權授予magento_db。*至'magento'@'localhost';

接下來,運行FLUSH PRIVILEGES命令重新啟動權限:

MariaDB [(無)]>沖洗特權;

最後,使用以下命令退出MariaDB控制台:

MariaDB [(無)]> q

4下載Magento

首先,您需要從他們的官方網站下載最新版本的Magento。

下載Magento後,使用以下命令將下載的zip文件解壓縮到apache web根目錄:

sudo mkdir / var / www / html / magento /
sudo unzip magento2-develop.zip -d / var / www / html / magento

接下來,更改magento目錄的所有權並為其提供適當的權限:

sudo chown -R www-data:www-data / var / www / html / magento
sudo chmod -R 777 / var / www / html / magento

接下來,您需要將Composer安裝到您的系統。 Composer是一個依賴項管理器,用於安裝所有必需的PHP依賴項。 您可以使用以下命令下載並安裝Composer二進製文件:

curl -sS https://getcomposer.org/installer | PHP
sudo mv composer.phar / usr / bin / composer

接下來,運行composer命令來安裝Magento所需的所有依賴項:

cd / var / www / html / magento
sudo作曲家安裝

一旦安裝了所有依賴項,就可以繼續為Magento配置Apache。

5為Magento配置Apache

接下來,您需要為Magento創建一個Apache虛擬主機文件。 使用以下命令創建名為magento.conf的新Apache配置文件:

sudo nano /etc/apache2/sites-available/magento.conf

添加以下行:

服務器管理員 [電子郵件保護]
DocumentRoot / var / www / html / magento服務器名稱192.168.15.189 ServerAlias www.example.com < 選項FollowSymLinks AllowOverride All允許所有訂單,拒絕所有ErrorLog / var / log / apache2 / magento-error_log CustomLog / var / log / apache2 / magento-access_log常見

保存文件,然後使用Apache重寫模塊啟用虛擬主機以下命令:

sudo a2ensite magento
sudo a2enmod重寫

接下來,您還需要將Apache偵聽端口從80更改為8080。 因為我們將保留端口80用於清漆。 為此,請打開ports.conf文件:

sudo nano /etc/apache2/ports.conf

如下所示更改文件:

聽8080

最後,使用以下命令重新啟動Apache服務以應用此更改:

sudo systemctl重啟apache2

6訪問Magento Web安裝嚮導

現在已經安裝了Magento,現在是時候通過Web瀏覽器安裝Magento了。

為此,請打開Web瀏覽器並鍵入URL http://192.168.15.189:8080,您應該看到以下頁面:

Magento Web安裝嚮導

現在,同意條款和條件,然後單擊“同意並設置Magento”按鈕,您將看到以下頁面:

同意服務條款

檢查所有準備情況,然後單擊“下一步”按鈕,您應該看到以下頁面:

數據庫細節

提供您的數據庫詳細信息,例如數據庫名稱,數據庫用戶名和密碼,然後單擊“下一步”按鈕,您應該看到以下頁面:

網站詳情

提供您的網站詳細信息,然後單擊“下一步”按鈕,您應該看到以下頁面:

magento設置

根據需要自定義Magento,然後單擊“下一步”按鈕,您應該看到以下頁面:

管理員用戶詳情

提供您的管理員用戶詳細信息,然後單擊“下一步”按鈕,您應該看到以下頁面:

立即安裝

現在,單擊“立即安裝”按鈕開始Magento安裝。 安裝完成後,您應該會看到以下頁面:

Installaton成功

注意:請記住您的Magento管理員網址: http://192.168.15.189/admin_wczta4。 這將用於訪問Magento管理員。

現在,單擊“啟動Magento Admin”按鈕,您應該會看到Magento登錄頁面,如下所示:

Magento登錄

提供您的Magento管理員憑據,然後單擊“登錄”按鈕,您應該看到如下所示的Magent-o儀表板:

Magento儀表板

從你Magento Admin儀表板上點擊 STORES按鈕(左側)>配置>高級>系統>全頁緩存,然後取消選擇使用系統值並從緩存應用程序列表中選擇Varnish Cache,保存配置,單擊Varnish Configuration鏈接並單擊Export VCL for Varnish 4按鈕(這將導出/ var / www中的varnish.vcl文件) / html / magento / var directoy)如下圖所示:

Magento商店配置

最後,使用以下命令刷新Magento緩存:

cd / var / www / html / magento
sudo php bin / magento cache:flush

完成後,您可以繼續配置清漆。

6配置清漆

現在已安裝並配置了Magento。 現在該配置清漆了。

首先,刪除/etc/varnish/default.vcl文件並從導出的varnish配置創建符號鏈接:

sudo rm -rf /etc/varnish/default.vcl
sudo ln -s /var/www/html/magento/var/varnish.vcl /etc/varnish/default.vcl

接下來,您需要為varnish創建systemd服務文件。 您可以通過將/ lib / systemd / system /中的varnish.service複製到/ etc / systemd / system /目錄來完成此操作:

sudo cp /lib/systemd/system/varnish.service / etc / systemd / system /

複製此文件後,您需要在varnish.service文件中進行一些更改:

sudo nano /etc/systemd/system/varnish.service

進行以下更改:

[單位]說明=漆HTTP加速器文檔= https://www.varnish-cache.org/docs/4.1/ man:varnishd [服務]類型=簡單LimitNOFILE = 131072 LimitMEMLOCK = 82000 ExecStart = / usr / sbin / varnished- UNIX,用戶= vcache -F -a:80 -T本地主機:6082 -f /etc/varnish/default.vcl -S / etc / varnish / secret -s malloc,256m ExecReload = / usr / share / varnish / reload -vcl ProtectSystem = full ProtectHome = true PrivateTmp = true PrivateDevices = true [安裝] WantedBy = multi-user.target

完成後保存文件,然後使用以下命令重新啟動varnish服務:

sudo systemctl守護進程重新加載
sudo systemctl reload varnish.service

如果一切正常,那麼您應該可以通過在Web瀏覽器上鍵入以下URL來登錄Magento後端:

http://192.168.15.189/admin_wczta4

您還可以通過運行以下命令來檢查是否啟用了清漆:

curl -I http:// 192.168.15.189 / admin_wczta4

您應該看到啟用了清漆:

日期:星期五,07七月2017 17:10:01 GMT服務器:Apache / 2.4.18(Ubuntu)設置Cookie:store = default; expires =星期六,07-Jul-2018 17:10:03 GMT; 最大年齡= 31536000; 路徑= /; HttpOnly Set-Cookie:PHPSESSID = irp2k8cmrhct0dfh18qk7ap0i4; expires =星期五,07-Jul-2017 18:10:04 GMT; 最大年齡= 3600; 路徑= /; 域= 192.168.15.189; HttpOnly到期:星期四,07,七月2016 17:10:04 GMT緩存控件:max-age = 0,必須重新驗證,無緩存,無存儲語法:無緩存位置:http:// 192.168.15.189 / admin_wczta4 / SID = irp2k8cmrhct0dfh18qk7ap0i4 X-Content-Type-Options:nosniff X-XSS-Protection:1; mode = block X-Frame-Options:SAMEORIGIN Content-Length:0 Content-Type:text / html; charset = UTF-8 X-清漆:2年齡:0通過:1.1 varnish-v4連接:keep-alive

恭喜! 你已經在Ubuntu 16.04服務器上成功配置了Magento和Varnish。

資源