如何在 CentOS 7 上使用 Nginx 安装 Magento

在本教程中,我们将向您展示如何在 CentOS 7 上使用 Nginx 安装 Magento。对于那些不知道的人,Magento 是世界上用于管理电子商务网站的最广泛使用的应用程序之一。 Magento 完全可定制以满足用户的要求,并允许他们在几分钟内创建和启动一个功能齐全的在线商店。 Magento 采用 MySQL 关系数据库管理系统、PHP 编程语言和 Zend 框架的元素。

本文假设您至少具备 Linux 的基本知识,知道如何使用 shell,最重要的是,您将网站托管在自己的 VPS 上。 安装非常简单。 我将向您展示在 CentOS 7 上使用 Nginx 逐步安装 Magento。

先决条件

  • 运行以下操作系统之一的服务器:CentOS 7。
  • 建议您使用全新的操作系统安装来防止任何潜在问题。
  • 对服务器的 SSH 访问(或者如果您在桌面上,则只需打开终端)。
  • 一种 non-root sudo user或访问 root user. 我们建议充当 non-root sudo user,但是,如果您在充当 root 时不小心,可能会损害您的系统。

在 CentOS 7 上使用 Nginx 安装 Magento

步骤 1. 首先,确保所有软件包都是最新的。

yum -y update

步骤 2. 安装 Nginx、PHP-FPM 和 MariaDB。

您需要在系统上启用 EPEL 存储库:

rpm -Uvh https://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm   rpm -Uvh https://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm   yum -y upgrade   yum install mariadb mariadb-server nginx php-fpm php-mysql php-pear php-bcmath php-common php-gd php-pdo php-pdo-mysql php-mcrypt

启动 Nginx、PHP-FPM 和 MariaDB 服务器,使其在启动时启动:

## Nginx systemctl start nginx systemctl enable nginx ## MariaDB systemctl start mariadb systemctl enable mariadb ## PHP-FPM systemctl start php-fpm systemctl enable php-fpm

步骤 3. 为 Magento 配置 MariaDB。

默认情况下,MariaDB 未加固。 您可以使用 mysql_secure_installation 脚本。 您应该仔细阅读以下每个步骤,这些步骤将设置 root 密码、删除匿名用户、禁止远程 root 登录、删除测试数据库和访问安全 MariaDB:

mysql_secure_installation

接下来,我们需要登录 MariaDB 控制台并为 Magento 创建一个数据库。 运行以下命令:

mysql -u root -p

这将提示您输入密码,因此输入您的 MariaDB 根密码并点击 Enter. 登录到数据库服务器后,您需要为 Magento 安装创建一个数据库:

mysql> CREATE DATABASE magentodb; mysql> GRANT ALL PRIVILEGES ON magentodb . * TO [email protected]'localhost' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION; mysql> FLUSH PRIVILEGES;

步骤 4. 为 Magento 配置 Nginx Web 服务器。

使用以下内容为您的域创建一个 Nginx 虚拟块:

$ nano /etc/nginx/conf.d/magentodomain.conf  server { listen 80 default; server_name www.magentoodomain.com *.magentoodomain.com; root /var/www/html/magento  location / { index index.html index.php; try_files $uri $uri/ @handler; expires 30d; }  location ^~ /app/                { deny all; } location ^~ /includes/           { deny all; } location ^~ /lib/                { deny all; } location ^~ /media/downloadable/ { deny all; } location ^~ /pkginfo/            { deny all; } location ^~ /report/config.xml   { deny all; } location ^~ /var/                { deny all; }  location /var// { auth_basic           "Restricted"; auth_basic_user_file htpasswd; autoindex            on; }  location  /. { return 404; }  location @handler { rewrite / /index.php; }  location ~ .php/ { rewrite ^(.*.php)/ $1 last; }  location ~ .php$ { if (!-e $request_filename) { rewrite / /index.php last; }  expires        off; fastcgi_pass   127.0.0.1:9000; fastcgi_param  HTTPS $fastcgi_https; fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name; fastcgi_param  MAGE_RUN_CODE default; fastcgi_param  MAGE_RUN_TYPE store; include        fastcgi_params; ## See /etc/nginx/fastcgi_params } }

重启 Nginx Web 服务器和 PHP-FPM 以使更改生效:

systemctl restart nginx systemctl restart php-fpm

步骤 4. 安装 Magento。

下载最新的稳定版 Magento,在撰写本文时它是 1.9.1.0 版:

wget https://www.magentocommerce.com/downloads/assets/1.9.0.1/magento-1.9.0.1.zip

将 Magento 存档解压缩到服务器上的文档根目录:

tar -xvzf magento-1.9.1.0.tar.gz -C /var/www/html/ rm magento-1.9.1.0.tar.gz

设置适当的权限:

cd /var/www/html/magento chmod -R o+w app/etc/ chmod -R o+w var/ chmod -R o+w media/

步骤 5. 访问 Magento Web UI。

默认情况下,Magento 将在 HTTP 端口 80 上可用。 打开您喜欢的浏览器并导航到 https://yourdomain.com/ 或者 https://your-server-ip 并完成所需的步骤以完成安装。 如果您使用防火墙,请打开端口 80 以启用对控制面板的访问。

恭喜! 您已成功安装 Magento。 感谢您使用本教程在 CentOS 7 系统上安装 Magento eCommerce。 如需其他帮助或有用信息,我们建议您查看 Magento 官方网站.