[僅限PaaS]{class="badge informative" title="僅適用於雲端專案(Adobe管理的PaaS基礎結構)和內部部署專案的Adobe Commerce 。"}
Nginx
Adobe Commerce支援nginx 1.x (或最新的主線版本)。 您也必須安裝最新版本的php-fpm。
安裝指示會因您使用的作業系統而異。 如需詳細資訊,請參閱PHP。
烏本圖
以下章節說明如何使用nginx、PHP和MySQL在Ubuntu上安裝Adobe Commerce 2.x。
安裝nginx
sudo apt -y install nginx
您也可以從來源建置nginx
完成下列章節並安裝應用程式之後,我們將使用範例組態檔來設定nginx。
安裝和配置php-fpm
Adobe Commerce需要多個PHP擴充功能才能正常運作。 除了這些擴充功能之外,如果您使用nginx,您也必須安裝並設定php-fpm擴充功能。
若要安裝和設定php-fpm:
-
安裝
php-fpm和php-cli:code language-bash apt-get -y install php7.2-fpm php7.2-clinote note NOTE 這個指令會安裝最新可用的PHP 7.2.X版本。請參閱支援的PHP版本系統需求。 -
在編輯器中開啟
php.ini檔案:code language-bash vim /etc/php/7.2/fpm/php.inicode language-bash vim /etc/php/7.2/cli/php.ini -
編輯這兩個檔案以符合以下行:
code language-conf memory_limit = 2G max_execution_time = 1800 zlib.output_compression = Onnote note NOTE 測試Adobe Commerce時,建議將記憶體限制設為2 G。 如需詳細資訊,請參閱必要的PHP設定。 -
儲存並退出編輯器。
-
重新啟動
php-fpm服務:code language-bash systemctl restart php7.2-fpm
安裝及設定MySQL
如需詳細資訊,請參閱MySQL。
安裝與設定
有數種方式可下載Adobe Commerce,包括:
此範例顯示使用命令列的Composer型安裝。
-
以檔案系統擁有者的身分,登入您的應用程式伺服器。
-
變更至Web伺服器docroot目錄,或您設定為虛擬主機docroot的目錄。 在此範例中,我們使用Ubuntu預設值
/var/www/html。code language-bash cd /var/www/html -
全域安裝撰寫器。 安裝Adobe Commerce之前需要撰寫器更新相依性:
code language-bash curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/bin --filename=composer -
使用Adobe Commerce中繼資料建立撰寫器專案。
Magento Open Source
code language-bash composer create-project --repository=https://repo.magento.com/ magento/project-community-edition <install-directory-name>Adobe Commerce
code language-bash composer create-project --repository=https://repo.magento.com/ magento/project-enterprise-edition <install-directory-name>出現提示時,請輸入您的驗證金鑰。 您的 公開金鑰 是您的使用者名稱;私密金鑰 是您的密碼。
-
安裝應用程式之前,請先設定網頁伺服器群組的讀寫許可權。 這是必要的,以便命令列可以將檔案寫入檔案系統。
code language-bash cd /var/www/html/<magento install directory>code language-bash find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} +code language-bash find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} +code language-bash chown -R :www-data . # Ubuntucode language-bash chmod u+x bin/magento -
從命令列安裝。 此範例假設安裝目錄名為
magento2ee,db-host在相同電腦(localhost)上,且db-name、db-user和db-password皆為magento:code language-bash bin/magento setup:install \ --base-url=http://localhost/magento2ee \ --db-host=localhost \ --db-name=magento \ --db-user=magento \ --db-password=magento \ --backend-frontname=admin \ --admin-firstname=admin \ --admin-lastname=admin \ --admin-email=admin@admin.com \ --admin-user=admin \ --admin-password=admin123 \ --language=en_US \ --currency=USD \ --timezone=America/Chicago \ --use-rewrites=1 \ --search-engine=elasticsearch7 \ --elasticsearch-host=es-host.example.com \ --elasticsearch-port=9200 -
切換到開發人員模式:
code language-bash cd /var/www/html/magento2/bincode language-bash ./magento deploy:mode:set developer
設定nginx
我們建議使用安裝目錄和nginx虛擬主機中提供的nginx.conf.sample設定檔來設定nginx。
這些指示假設您使用的是nginx虛擬主機的Ubuntu預設位置(例如/etc/nginx/sites-available)和Ubuntu預設docroot (例如/var/www/html),不過您可以變更這些位置以符合您的環境。
-
為您的網站建立新的虛擬主機:
code language-bash vim /etc/nginx/sites-available/magento -
新增下列設定:
code language-conf upstream fastcgi_backend { server unix:/run/php/php7.2-fpm.sock; } server { listen 80; server_name www.magento-dev.com; set $MAGE_ROOT /var/www/html/magento2; include /var/www/html/magento2/nginx.conf.sample; }note note NOTE include指示詞必須指向安裝目錄中的範例nginx組態檔。 -
將
www.magento-dev.com取代為您的網域名稱。 這必須符合您在安裝Adobe Commerce時指定的基底URL。 -
儲存並退出編輯器。
-
在
/etc/nginx/sites-enabled目錄中建立新建立的虛擬主機的symlink以啟動它:code language-bash ln -s /etc/nginx/sites-available/magento /etc/nginx/sites-enabled -
請確認語法正確:
code language-bash nginx -t -
重新啟動nginx:
code language-bash systemctl restart nginx
驗證安裝
開啟網頁瀏覽器,並瀏覽至您網站的基底URL,以驗證安裝。
CentOS 7
以下章節說明如何使用nginx、PHP和MySQL在CentOS 7上安裝Adobe Commerce 2.x。
安裝nginx
yum -y install epel-release
yum -y install nginx
安裝完成後,請啟動nginx並將它設定為在開機時啟動:
systemctl start nginx
systemctl enable nginx
完成下列章節並安裝應用程式後,我們將使用範例組態檔來設定nginx。
安裝和配置php-fpm
Adobe Commerce需要多個PHP擴充功能才能正常運作。 除了這些擴充功能之外,如果您使用nginx,您也必須安裝並設定php-fpm擴充功能。
-
安裝
php-fpm:code language-bash yum -y install php70w-fpm -
在編輯器中開啟
/etc/php.ini檔案。 -
取消註解
cgi.fix_pathinfo行並將值變更為0。 -
編輯檔案以符合下列各行:
code language-conf memory_limit = 2G max_execution_time = 1800 zlib.output_compression = Onnote note NOTE 測試Adobe Commerce時,建議將記憶體限制設為2 G。 如需詳細資訊,請參閱必要的PHP設定。 -
取消註解工作階段路徑目錄並設定路徑:
code language-conf session.save_path = "/var/lib/php/session" -
儲存並退出編輯器。
-
在編輯器中開啟
/etc/php-fpm.d/www.conf。 -
編輯檔案以符合下列各行:
code language-conf user = nginx group = nginx listen = /run/php-fpm/php-fpm.sock listen.owner = nginx listen.group = nginx listen.mode = 0660 -
取消環境行的註解:
code language-conf env[HOSTNAME] = $HOSTNAME env[PATH] = /usr/local/bin:/usr/bin:/bin env[TMP] = /tmp env[TMPDIR] = /tmp env[TEMP] = /tmp -
儲存並退出編輯器。
-
為PHP工作階段路徑建立目錄,並將擁有者變更為
apache使用者和群組:code language-bash mkdir -p /var/lib/php/session/code language-bash chown -R apache:apache /var/lib/php/ -
為PHP工作階段路徑建立目錄,並將擁有者變更為
apache使用者和群組:code language-bash mkdir -p /run/php-fpm/code language-bash chown -R apache:apache /run/php-fpm/ -
啟動
php-fpm服務,並將它設定為在開機時啟動:code language-bash systemctl start php-fpmcode language-bash systemctl enable php-fpm -
驗證
php-fpm服務是否正在執行:code language-bash netstat -pl | grep php-fpm.sock
安裝及設定MySQL
如需詳細資訊,請參閱MySQL。
安裝與設定
有數種方式可下載Adobe Commerce,包括:
此範例顯示使用命令列的Composer型安裝。
-
以檔案系統擁有者的身分,登入您的應用程式伺服器。
-
變更至Web伺服器docroot目錄,或您設定為虛擬主機docroot的目錄。 在此範例中,我們使用Ubuntu預設值
/var/www/html。code language-bash cd /var/www/html -
全域安裝撰寫器。 安裝Adobe Commerce之前需要撰寫器更新相依性:
code language-bash curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/bin --filename=composer -
使用Adobe Commerce中繼資料建立撰寫器專案。
Magento Open Source
code language-bash composer create-project --repository=https://repo.magento.com/ magento/project-community-edition <install-directory-name>Adobe Commerce
code language-bash composer create-project --repository=https://repo.magento.com/ magento/project-enterprise-edition <install-directory-name>出現提示時,請輸入您的驗證金鑰。 您的 公開金鑰 是您的使用者名稱;私密金鑰 是您的密碼。
-
安裝應用程式之前,請先設定網頁伺服器群組的讀寫許可權。 這是必要的,以便命令列可以將檔案寫入檔案系統。
code language-bash cd /var/www/html/<magento install directory>code language-bash find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} +code language-bash find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} +code language-bash chown -R :www-data . # Ubuntucode language-bash chmod u+x bin/magento -
從命令列安裝。 此範例假設安裝目錄名為
magento2ee,db-host在相同電腦(localhost)上,且db-name、db-user和db-password皆為magento:code language-bash bin/magento setup:install \ --base-url=http://localhost/magento2ee \ --db-host=localhost \ --db-name=magento \ --db-user=magento \ --db-password=magento \ --backend-frontname=admin \ --admin-firstname=admin \ --admin-lastname=admin \ --admin-email=admin@admin.com \ --admin-user=admin \ --admin-password=admin123 \ --language=en_US \ --currency=USD \ --timezone=America/Chicago \ --use-rewrites=1 -
切換到開發人員模式:
code language-bash cd /var/www/html/magento2/bincode language-bash ./magento deploy:mode:set developer
設定nginx
我們建議使用安裝目錄和nginx虛擬主機中提供的nginx.conf.sample設定檔來設定nginx。
這些指示假設您正在使用nginx虛擬主機的CentOS預設位置(例如/etc/nginx/conf.d)和預設docroot (例如/usr/share/nginx/html),但您可以變更這些位置以符合您的環境。
-
為您的網站建立新的虛擬主機:
code language-bash vim /etc/nginx/conf.d/magento.conf -
新增下列設定:
code language-conf upstream fastcgi_backend { server unix:/run/php-fpm/php-fpm.sock; } server { listen 80; server_name www.magento-dev.com; set $MAGE_ROOT /usr/share/nginx/html/magento2; include /usr/share/nginx/html/magento2/nginx.conf.sample; }note note NOTE include指示詞必須指向安裝目錄中的範例nginx組態檔。 -
將
www.magento-dev.com取代為您的網域名稱。 -
儲存並退出編輯器。
-
請確認語法正確:
code language-bash nginx -t -
重新啟動nginx:
code language-bash systemctl restart nginx
設定SELinux和Firewald
CentOS 7預設啟用SELinux。 使用以下命令檢視它是否正在執行:
sestatus
若要設定SELinux與firewald:
-
安裝SELinux管理工具:
code language-bash yum -y install policycoreutils-python -
執行以下命令來變更安裝目錄的安全性內容:
code language-bash semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/magento2/app/etc(/.*)?'code language-bash semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/magento2/var(/.*)?'code language-bash semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/magento2/pub/media(/.*)?'code language-bash semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/magento2/pub/static(/.*)?'code language-bash restorecon -Rv '/usr/share/nginx/html/magento2/' -
安裝防火牆套件:
code language-bash yum -y install firewalld -
啟動防火牆服務,並將它設定為在開機時啟動:
code language-bash systemctl start firewalldcode language-bash systemctl enable firewalld -
執行以下命令來開啟HTTP和HTTPS的連線埠,以便您可以從網頁瀏覽器存取基本URL:
code language-bash firewall-cmd --permanent --add-service=httpcode language-bash firewall-cmd --permanent --add-service=httpscode language-bash firewall-cmd --reload