magento2.1在centos7.4系统上的部署与安装

Magento系统是一款开源的电子商务软件系统(e-commerce software),里面也整合了一个cms(content management system)内容管理系统,是基于 PHP Zend Framework框架开发的。Magento提供了面向对象的编程方式和MVC (Model-View-Controller)三层开发架构,使用MySQL/MariaDB作为系统数据库。这款软件是美国公司Varien Inc在2009年开始立项开发的。在过去几年,Magento已经成为世界上最受欢迎和客户信赖的电子商务建站平台。在这篇文章中,我们将一步步教你把Magento2.1部署在centos7.4系统上,包括Nginx服务器,Php7.0-pm解析,Mysql数据库。

重要:需要把CentOS7.4系统的SELinux状态设置为 enabled。 设置方法: vim /etc/selinux/config 将SELINUX=disabled改为SELINUX=enforcing 重启机器即可 reboot


Step 1 - Install Nginx


这个步骤,我们将会通过Epel的方式安装Nginx。因为Epel安装方式不是CentOS系统默认的,所以我们需要把Epel方式用yum命令安装好,

yum -y install epel-release

然后从Epel安装源开始安装Nginx

yum -y install nginx

安装好后,启动Nginx服务器,把它添加到CentOS开机默认启动。

systemctl start nginx systemctl enable nginx

Nginx 默认端口是80,你可以通过以下命令来查看Nginx是否已经启动。

netstat -plntu

Nginx 

如果你输入命令后无法看到这个界面,并提示'command not found',你需要安装下net-tools。

yum -y install net-tools


Step 2 - Install and Configure PHP-FPM


接下去我们要安装php环境,并让Nginx服务器支持php文件的解析。目前Magento2.1需要php7以上版本的支持,我们通过Webtatic repository安装源的方式安装php7。下载并添加一个Webtatic安装源到系统。

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

现在输入下面的命令就可以安装PHP-FPM7所有的包和相关的扩展,为Magento部署好php运行环境。

yum -y install php70w-fpm php70w-mcrypt php70w-curl php70w-cli php70w-mysql php70w-gd php70w-xsl php70w-json php70w-intl php70w-pear php70w-devel php70w-mbstring php70w-zip php70w-soap

当PHP-FPM7安装完毕,我们需要对它的参数进行配置。我们编辑php.ini文件和php-fpm的配置文件www.conf。

vim /etc/php.ini

去掉cgi.fix_pathinfo参数的注释,就是去掉每一行的最前面的;。

cgi.fix_pathinfo=0 配置memory limit,max execution time,zlib output compression,按照下面的修改。 memory_limit = 512M max_execution_time = 1800 zlib.output_compression = On

去掉session的路径注释,并更改这个值。按照下面修改

session.save_path = "/var/lib/php/session"

最后保存退出。

下一步,用vim编辑php-fpm配置文件www.conf

vim /etc/php-fpm.d/www.conf

PHP-FPM7 运行在 'nginx'用户组下面, 把两个值都设定为nginx。

user = nginx group = nginx

我们配置php-fpm在一个socket文件下运行,而不是通过服务器端口。改变服务器的监听对象,如下面所示。

listen = /var/run/php/php-fpm.sock 这个socket文件需要指定的所有者,我们把所有者设定为nginx。 listen.owner = nginx listen.group = nginx listen.mode = 0660

最后取消第366-370的注释

env[HOSTNAME] = $HOSTNAME env[PATH] = /usr/local/bin:/usr/bin:/bin env[TMP] = /tmp env[TMPDIR] = /tmp env[TEMP] = /tmp

保存并退出。

下一步要创建一个session目录和php sock目录。然后把这两个目录的所有者都改为‘nginx’。为session path创建一个新的目录。

mkdir -p /var/lib/php/session/ chown -R nginx:nginx /var/lib/php/session/

为php-fpm创建一个本地目录

mkdir -p /run/php/ chown -R nginx:nginx /run/php/

PHP-FPM7配置已经完成,可以在开机时自动启动该服务。用systemctl命令。

systemctl start php-fpm systemctl enable php-fpm

如果输入的这些命令都没有错误提示,输入下面的命令你能看到下图的信息,这样说明PHP-FPM7已经运行了。

netstat -pl | grep php-fpm.sock

PHP-FPM7


Step 3 - Install MySQL 5.7 Server


Magento 2.1需要最新版本的MySQL,你能使用MySQL 5.6或5.7版本的。在这个教程中,我们将使用5.7版本的MySQL服务器。下载并添加最新版本的MySQL地址到yum仓库。

yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

现在开始用yum命令安装MySQL 5.7。

yum install mysql-community-server

当安装完成,启动mysql服务器,并把mysql设为开机时自动启动。

systemctl start mysqld systemctl enable mysqld

MySQL 5.7安装完了会有一个默认的root密码,它是储存在mysqld.log文件中。使用grep命令可以查看这个默认的密码。

grep 'temporary' /var/log/mysqld.log

mysql password 

现在你能看到当前的root密码,你应该马上修改这个缺省的密码。首先用下面的方式连接上mysql。

mysql -u root -p TYPE DEFAULT PASSWORD

修改密码的方式用下面的查询语句。 我将使用这个新的密码 'Hakase-labs123@' 。

ALTER USER 'root'@'localhost' IDENTIFIED BY 'admin123@'; flush privileges;

change password

现在mysql的默认密码已经修改好了。下一步我们创建一个新的用户和新的数据库为安装Magento2.1做准备。我们将创建一个名叫'magentodb'的新数据库和一个新的用户'magentouser',该用户的登录密码为'Magento123@'。然后把mysql所有的权限赋给这个用户。连接上mysql数据库后,执行下面的语句就可以完成操作。

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

create database and user 

至此MySQL 5.7 已经安装完毕,为安装Magento2.1准备的数据库和相关的条件也已准备就绪。


Step 4 - Install and Configure Magento


这一步,我们安装和配置Magento。web服务器的根目录,我们使用'/var/www/magento2'。我们需要php composer的支持。首先安装php Composer,我们使用curl命令进行安装。

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/bin --filename=composer

当安装完成,你可以用composer version进行查看,是否安装成功。

composer -v

composer 

看到以上图片信息,说明PHP Composer已经成功安装。

下载Magento并解压缩,定位到'/var/www'路径,把下载的文件放在这个目录下。

cd /var/www/ wget https://github.com/magento/magento2/archive/2.1.zip

用yum命令安装unzip

yum -y install unzip

解压缩Magento,并且把解压缩后的文件重新命名为 'magento2'

unzip 2.1.zip mv magento2-2.1 magento2

安装PHP依赖,定位到magento2目录,用composer命令安装

cd magento2 composer install -v

install magento2

配置magento虚拟服务器,定位nginx服务器路径下,在'conf.d'目录下创建一个名叫'magento.conf'的虚拟服务器

cd /etc/nginx/ vim conf.d/magento.conf

粘帖下面这些内容

upstream fastcgi_backend {
        server  unix:/run/php/php-fpm.sock;
}
server {
        listen 80;
        server_name magento.hakase-labs.com;
        set $MAGE_ROOT /var/www/magento2;
        set $MAGE_MODE developer; include /var/www/magento2/nginx.conf.sample; }

然后保存文件并退出vim。 现在我们来测试这个配置是否已经成功。当下面的命令成功执行,重启nginx服务器。

nginx -t systemctl restart nginx

config nginx

安装Magento 2.1,定位到'/var/www/magento2/'目录,执行安装命令。

cd /var/www/magento2

执行下面的命令,确定你的配置是正确的。文件中的值可以修改成你自己的内容。像第二段解释一样。

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

修改的值:

--backend-frontname: Magento admin login page "adminlogin"
--key: generate your own key --db-host: Database host localhost --db-name: database name 'magentodb' --db-user: database user 'magentouser' --db-password: database password 'Magento123@' --base-url: Magento URL --admin-user: Your admin user --admin-password: Your Magento admin password --admin-email: Your email address

当你执行完命令,没有看到出错提示,你将看到下面的结果。

 此处输入图片的描述

Magento 2.1系统已经安装好了。我们接下去要配置文件操作权限,magento的etc文件属于配置文件,需要可写入的权限。magento根目录需要写入权限。

chmod 700 /var/www/magento2/app/etc chown -R nginx:nginx /var/www/magento2

Magento Cron

crontab -u nginx -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

保存并退出。

转载于:https://www.cnblogs.com/jhlqab/p/8268086.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值