mac下安装magento2+nginx配置访问

看了大部分基本都是在Apache上进行配置的(配置网址),就是直接把文件放在/Library/WebServer/Documents中。个人配置完感觉很不方便,页面也还有很多问题。个人推荐使用nginx配置访问,不要使用Apache进行配置访问。

一、环境准备:官网

  1. php
  • 版本需要>=7.2;
  • mac上Apache上含有7.1版本,缺少intl扩展,不要使用,使用brew安装
  • (这是使用在Apache配置时,网页安装检查PHP版本一直为7.1)如果安装7.2版本后,还是一直提示缺少intl扩展,可建立软链接将/usr/bin/php,/usr/bin/php-config,/usr/bin/phpize替换为7.2版本
  1. nginx
  2. mysql
  • 版本>=5.6
  1. composer

二、下载安装包

官网地址
在下载时会提示注册账号,最好在此处注册,官网登陆的地方注册有问题。

注意:Format要选择zip(tar.gz是使用页面向导安装),勾选上sample data(示例数据,这个是很有必要的),下载前确认数据大小为333.33MB。
mac下安装magento2+nginx配置访问

三、安装magento

  1. 将下载的代码存放在/usr/local/var/www/文件夹中
  2. $ cd /usr/local/var/www/magento2
  3. $ composer update
  • –db-name的m2数据库需要提前建好
  • –db-user=root --db-password=system需要更换为你mysql的账号密码
  • 提示memory错误时,将/private/etc/php.ini和/usr/local/etc/php/7.2/php.ini 中的memory_limit = 2048M
  • 提示MySQL server has gone away错误时,新增my.cnf文件,使用参考1配置,并修改max_allowed_packet = 500M。
  • 提示Lost connection to MySQL server错误时:需要加上外网访问权限:
    $ GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘youpassword’ WITH GRANT OPTION;
    $ FLUSH PRIVILEGES;
  1. $ php -f bin/magento setup:install --base-url=http://m2.local.com/ --backend-frontname=admin --db-host=localhost --db-name=m2 --db-user=root --db-password=system --admin-firstname=liu --admin-lastname=x --admin-email=123@163.com --admin-user=admin --admin-password=admin123 --language=zh_Hans_CN --currency=CNY --timezone=Asia/Shanghai --use-rewrites=1
  2. $ php bin/magento setup:di:compile
  3. $ php bin/magento setup:static-content:deploy -f
  • 开发过程中,将系统运行模式改为开发者模式:
  1. $ php bin/magento deploy:mode:set developer

四、赋予文件夹权限

如果不设置权限,会在访问http://m2.local.com/时报404错误,nginx的error.log会显示failed (13: Permission denied)

  1. $ cat /etc/group | grep root (查看用户名、用户组)
  2. $ chown -R root:staff /usr/local/var/www/magento2/
  3. $ chmod 777 -R /usr/local/var/www/magento2/var
  4. $ chmod 777 -R /usr/local/var/www/magento2/generated
  5. $ chmod 777 -R /www/magento2/app/etc
  6. $ rm -rf var/cache/* var/page_cache/* var/generation/* (magento2目录下的,有就删)
  7. $ php bin/magento setup:di:compile;

五、配置nginx

这些是必要的配置:

# 使用上方的用户名、用户组
user root staff;
# 设置缓冲区的大小
fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k; 
# 配置/usr/local/var/www/magento2/nginx.conf.sample中fastcgi_backend
upstream fastcgi_backend {
	# use tcp connection
	server  127.0.0.1:9000;
	# or socket
	# server  unix:/run/php/php7.2-fpm.sock;
}
server {
	listen       80;
	server_name  m2.local.com;
	# 文件目录
	set $MAGE_ROOT /usr/local/var/www/magento2;
    # 引用nginx.conf.sample的官方默认配置,可直接使用
	include /usr/local/var/www/magento2/nginx.conf.sample;
}

mac下安装magento2+nginx配置访问

六、hosts文件配置

配置m2.local.com映射为localhost,跟nginx的server_name、安装magento中第四条命令中的base-url相对应,可灵活配置。

  1. $ sudo vi /etc/hosts
  2. 增加 127.0.0.1 m2.local.com

七、访问

重启nginx和php7.2-fpm即可访问已安装的magento2.3.6系统了

  1. 前台:http://m2.local.com/
  2. 后台:http://m2.local.com/admin

后台账号密码为:安装magento中第四条命令中,admin-user和admin-password

mac下安装magento2+nginx配置访问
mac下安装magento2+nginx配置访问

上一篇:php-Magento 2:如何从类别和产品页面中删除styles-m.css


下一篇:php-如何从Magento 2官方市场安装扩展