如何安装Magento与Nginx在Ubuntu 16.04

Magento是基于PHP Zend Framework的电子商务网站的开源电子商务软件和内容管理系统。 它使用MySQL或MariaDB作为数据库后端。 Magento开发于2008年由Varien开始。

在本教程中,我将向您展示如何在FPM模式下使用Nginx, PHP 7.0和MariaDB作为数据库安装Magento 2。 我将使用ubuntu 16.04(Xenial Xerus)作为服务器操作系统。 如果您还没有最小的服务器设置,请参阅本教程以获得正确的基本设置。

先决条件:

  • Ubuntu 16.04 - 64位。
  • 根特权。

第1步 - 安装Nginx

使用root帐户登录到您的Ubuntu服务器(例如通过SSH)并更新存储库。

sudo su
apt-get update

然后安装Nginx:

apt-get install nginx -y

通过检查端口来验证nginx是否已正确安装:

netstat -plntu | grep 80

第2步 - 安装和配置PHP-FPM

在这一步中,我们将在PHP-FPM模式下安装PHP 7。 另外我们将安装magento需要的以下PHP扩展。

  • php-gd
  • php-mhash
  • php-mcrypt
  • php-xsl
  • 梨梨
  • php-soap

使用apt命令安装软件包:

apt-get install php7.0-fpm php7.0-mcrypt php7.0-curl php7.0-cli php7.0-mysql php7.0-gd php7.0-xsl php7.0-json php7.0-intl php-pear php7.0-dev php7.0-common php7.0-mbstring php7.0-zip php-soap libcurl3 curl -y

现在编辑php.ini文件为fpm和cli。

vim /etc/php/7.0/fpm/php.ini
vim /etc/php/7.0/cli/php.ini

并增加内存限制和php执行时间,并通过在文件末尾添加以下行来打开zlib压缩:

memory_limit = 512M
max_execution_time = 1800
zlib.output_compression = On

保存文件并退出编辑器。

重新启动PHP-FPM服务以应用配置更改:

systemctl restart php7.0-fpm

第3步 - 安装和配置MariaDB

我将使用MariaDB而不是MySQL。 使用apt命令安装MariaDB:

apt-get install mariadb-server mariadb-client -y

使用以下命令设置MariaDB root用户密码:

mysqladmin -u root password mypassword
mysql_secure_installation

Set root password? [Y/n]Y
New password:
Re-enter new password: <-- Enter the new password

Remove anonymous users? [Y/n] Y
 ... Success!

Disallow root login remotely? [Y/n] Y
 ... Success!

Remove test database and access to it? [Y/n] Y

Reload privilege tables now? [Y/n] Y
 ... Success!

然后使用root密码连接到MySQL shell(使用mysql启动的MariaDB shell),使用' magentouser @ '密码创建一个名为' magentodb '的数据库和一个用户' magentouser '。 请为服务器上的“magentouser”选择一个安全的密码,而不是我在这个例子中使用的 ' magentouser @ '

登录到MySQL shell:

mysql -u root -p

在MySQL shell中,运行以下命令:

create database magentodb;
create user magentouser@localhost identified by 'magentouser@';
grant all privileges on magentodb.* to magentouser@localhost identified by 'magentouser@';
flush privileges;
\q

创建和配置数据库。

第4步 - 安装和配置Magento 2

我们将在目录“/ var / www / magento2”中安装Magento。 对于Magento安装,我们需要PHPComposer。

- 安装phpComposer

转到根目录,使用curl下载Composer安装程序文件,并运行它来安装Composer者。

cd ~/
curl -sS https://getcomposer.org/installer | php

将文件'composer.phar'文件移动到服务器的bin目录,并将其重命名为composer,以便轻松执行:

mv composer.phar /usr/bin/composer

现在验证composer命令是否正常工作:

composer -v

- 下载并提取Magento 2

转到网络目录“/ var / www /”,并从它的Github资源库下载Magento,然后解压缩下载的tar.gz文件:

cd /var/www/
wget https://github.com/magento/magento2/archive/2.0.7.tar.gz
tar -xzvf 2.0.7.tar.gz
mv magento2-2.0.7/ magento2/

完成

- 配置Magento键

在Magento网站repo.magento.com上注册一个帐户。 该帐户需要使用Magento和MagentoComposer商店。 注册后,进入“ 我的帐户”>“开发人员>安全密钥 ”,然后生成密钥。

- 为Magento安装第三方组件

转到Magento 2安装目录“/ var / www / magento2”并运行composer命令:

cd /var/www/magento2/
composer install -v

您将被要求获得Magento身份验证,使用公钥作为用户名,密码为私钥。

- 配置Nginx Virtualhost

Magento提供了一个现成的Nginx虚拟主机配置,因此我们只需将其包含在我们的配置中。

转到Nginx虚拟主机目录并创建名为magento的新文件:

cd /etc/nginx/sites-available/
vim magento

粘贴配置如下:

upstream fastcgi_backend {
        server  unix:/run/php/php7.0-fpm.sock;
}

server {

        listen 80;
        server_name www.newmagento.com;
        set $MAGE_ROOT /var/www/magento2;
        set $MAGE_MODE developer;
        include /var/www/magento2/nginx.conf.sample;
}

用您的商店使用的网站的域名替换www.newmagento.com。

保存并退出。

现在激活虚拟主机并重新启动Nginx:

ln -s /etc/nginx/sites-available/magento /etc/nginx/sites-enabled/
systemctl restart nginx

- 安装Magento

我们将在命令行上安装magento。 在Magento目录'/ var / www / magento2 /'中有二进制文件,名称为'magento',用于安装和管理magento。 运行命令:

bin/magento setup:install --backend-frontname="adminlogin" \
--key="biY8vdWx4w8KV5Q59380Fejy36l6ssUb" \
--db-host="localhost" \
--db-name="magentodb" \
--db-user="magentouser" \
--db-password="magentouser@" \
--language="en_US" \
--currency="USD" \
--timezone="America/New_York" \
--use-rewrites=1 \
--use-secure=0 \
--base-url="http://www.newmagento.com" \
--base-url-secure="https://www.newmagento.com" \
--admin-user=adminuser \
--admin-password=admin123@ \
--admin-email=admin@newmagento.com \
--admin-firstname=admin \
--admin-lastname=user \
--cleanup-database

backend-frontname =我们的magento网站的管理页面,我们使用' adminlogin '。
Key =我们的magento键,我们可以生成它,或者在http://randomkeygen.com/上随机找到它。
Base-url =确保与虚拟主机配置相同。

在安装过程结束时,您应该看到这些行:

[SUCCESS]: Magento installation complete.
[SUCCESS]: Magento Admin URI: /adminlogin

在我们测试Magento安装之前,确保web目录所有者是“ www-data ”,然后重新启动nginx。

cd /var/www/magento2/
chmod 700 /var/www/magento2/app/etc
chown -R www-data:www-data .
systemctl restart nginx

现在在浏览器中打开Magento域:

在我的情况下,域名是:www.newmagento.com

尝试登录Magento管理信息中心:

www.newmagento.com/adminlogin

注意 :

如果您收到有关缺少Magento索引器cronjob的错误,那么可以通过将以下cronjob添加到您的服务器来解决此问题:

crontab -u www-data -e

添加以下行:

* * * * * /usr/bin/php /var/www/magento2/bin/magento cron:run | grep -v "Ran jobs by schedule" >> /var/www/magento2/var/log/magento.cron.log
* * * * * /usr/bin/php /var/www/magento2/update/cron.php >> /var/www/magento2/var/log/update.cron.log
* * * * * /usr/bin/php /var/www/magento2/bin/magento setup:cron:run >> /var/www/magento2/var/log/setup.cron.log

保存并退出。

Ubuntu 16.04上的带有Nginx和PHP-FPM 7的Magento 2现已安装。

结论

Magento是基于PHP Zend Framework的开源电子商务平台。 它是一个复杂的电子商务软件,可帮助您完成在线业务。 Magento使用MVC(Model-View-Controller)架构和MySQL或MariaDB作为数据库。 Magento易于安装,我们可以使用Nginx或Apache Web服务器进行安装。 Magento已成为互联网上最受欢迎的电子商务软件之一,并被全球许多成功的商店网站使用。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏