Linux(CentOS7.9)环境Composer安装Magento2(2.4.5)项目

Linux(CentOS7.9)环境Composer安装Magento2(2.4.5)项目

一、Linux下安装lnmp环境

1.更换镜像

我使用的是阿里云ECS服务器,这边先停止服务器,更换服务器镜像为CentOS7.9.
然后访问lnmp.org(https://lnmp.org/install.html)可以直接使用安装适合自己的lnmp环境:这里我使用的是mysql5.7,php8.1

wget http://soft.vpser.net/lnmp/lnmp2.0.tar.gz -O lnmp2.0.tar.gz && tar zxf lnmp2.0.tar.gz && cd lnmp2.0 && ./install.sh lnmp

2.安装PHP扩展

安装完成后,cd到该版本目录:

cd /root/lnmp2.0

安装 sodium 扩展:

./addons.sh install sodium

安装 opcache 扩展:

./addons.sh install opcache

/usr/local/php/etc 目录下找到 php.ini ,修改以下几项:

;pcre.jit=1  => pcre.jit=0
memory_limit = 128M => memory_limit = 2G
;realpath_cache_size = 4096k => realpath_cache_size = 10M
;realpath_cache_ttl = 120 => realpath_cache_ttl = 7200

找到 disable_functions,删除以下2个函数:proc_open,proc_get_status。

3.开启和设置防火墙

开启防火墙:

systemctl start firewalld.service

开机自启:

systemctl enable firewalld.service

※开启80端口访问权限,不然网站将无法被正常访问:

firewall-cmd --zone=public --add-port=80/tcp --permanent

开启数据库3306端口:

firewall-cmd --zone=public --add-port=3306/tcp --permanent

重启防火墙:

systemctl restart firewalld.service

查看是否开启:

firewall-cmd --zone=public --query-port=3306/tcp

4.Mysql开启外部访问

mysql开启外部访问:

mysql - uroot -p
use mysql
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your password' WITH GRANT OPTION;
FLUSH PRIVILEGES;
mysql8.0及以上版本需要使用以下语句:
create user root@'%' identified by 'your password';
grant all privileges on *.* to root@'%' with grant option;
FLUSH PRIVILEGES;

二、安装Elasticsearch

参考文档:https://blog.csdn.net/qq_29917503/article/details/126487191

1.从官网下载ES最新版本包放在/home

2.解压后文件夹更名成elasticsearch

3.ES为了安全不允许使用root用户启动,添加es用户并授权文件夹权限

useradd es #新增es用户
passwd es

4.修改elasticsearch配置

#配置jdk环境变量,使用es自带的jdk版本
vim /etc/profile

export JAVA_HOME=/home/elasticsearch/jdk
export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/    
export PATH=$PATH:$JAVA_HOME/bin

source /etc/profile #刷新环境配置并生效
vim elasticsearch/config/elasticsearch.yml
cluster.name: elasticsearch 
node.name: node-1
path.data: /home/data/es
path.logs: /home/eslogs
network.host: 0.0.0.0  #开启外部访问
http.port: 9200

#关闭安全认证,实现免密登录访问
xpack.security.enabled: false
xpack.security.http.ssl:
  enabled: false
#修改jvm内存配置,服务器配置够好可以忽略
vim elasticsearch/config/jvm.options
 
 -Xms512m
 -Xmx512m
vim /etc/sysctl.conf
vm.max_map_count=655360 #最后面加一句,centos7 系统
sysctl -p #获取配置并生效

5.创建和修改文件的权限

mkdir -p /home/data/es && chown -R es:es /home/data/es/ && mkdir -p /home/eslogs && chown -R es:es /home/eslogs/
chown -R es:es /home/elasticsearch/ && chmod -R 777 /home/elasticsearch/

6.启动并访问

./elasticsearch/bin/elasticsearch
./elasticsearch/bin/elasticsearch -d #后台启动
curl 127.0.0.1:9200 #本地访问

或者浏览器输入http://服务器公网IP:9200,但这一步需要服务器的防火墙对外开启9200端口的访问

firewall-cmd --zone=public --add-port=9200/tcp --permanent

重启防火墙:

systemctl restart firewalld.service

三、安装Composer

参考文档:
linux安装composer:https://blog.csdn.net/yang913yang/article/details/123014607
windows安装composer:https://blog.csdn.net/baidu_32523857/article/details/126647488

四、使用Composer下载Magento项目

因为我这边用的阿里云服务器是杭州的,所以从外网下载可能会非常慢,但我本地的网络是香港的,所以我就用本地的windows环境去下载了magento项目

1.先把Composer更新到最新版本

composer self-update

在这里插入图片描述

2.把本地PHP更新到8.1版本并开启相应扩展

①下载安装PHP8.1

本地使用的php环境是小皮系统,但小皮系统的最新版本php才8.0所以需要自己下载php8.1.下载完之后重命名和之前小皮的php放在一起,php8.1就会自动出现在小皮的配置里
在这里插入图片描述

②配置windows环境变量(略)

在这里插入图片描述

③开启PHP扩展

然后把默认项目的php版本切换到8.1,开启php的扩展
在这里插入图片描述
在这里插入图片描述

3.Composer使用命令下载Magento项目

下载Magento2 2.4.5版本,项目名称为当前目录magento2

composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition=2.4.5 magento2

下载Magento2 最新版本,项目名称为当前目录magento2

composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition magento2

4.更换Composer镜像源

下载的过程并不顺利,有一大堆的Problem,这时候可能需要更换composer镜像源
在这里插入图片描述
先查看自带镜像源:

composer config -l -g

在这里插入图片描述
更换成阿里云镜像,修改该目录下config.json文件:
在这里插入图片描述
在这里插入图片描述

composer config -g repo.packagist composer https://packagist.phpcomposer.com #修改全局镜像
composer config repo.packagist composer https://packagist.phpcomposer.com #进入项目根目录更换当前镜像

阿里云镜像源:

https://mirrors.aliyun.com/composer/

5.修改Composer用户的账号密码

修改上一步目录下auth.json中的username和password为你在magento官方申请的public key和private key
在这里插入图片描述

6.最后删除原先生成的magento2文件夹重新下载项目

composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition=2.4.5 magento2

五、上传Magento安装包

将下载完的magento项目通过FTP上传到原先的linux服务器
这边建议先打包上传,不然ftp根据文件上传会比较慢

六、安装Magento 2.4.5

1.修改php.ini 文件:

max_execution_time = 300 => max_execution_time = 1800
zlib.output_compression = Off => zlib.output_compression = On

2.安装项目

安装指令:

/home/wwwroot/magento/bin/magento setup:install \
--base-url=http://www.***.cn/ \ #已经完成映射的域名
--db-host=localhost \ #数据库地址
--db-name=magento \ #数据库名称
--db-user=root \ #数据库账号
--db-password=****** \ #数据库密码
--admin-firstname=Uncle \ #后台管理员的名称
--admin-lastname=Bill \ #同上
--admin-email=*********@**.com \ #管理员邮箱
--admin-user=admin \ #后台登录账号
--admin-password=xixixi0920 \ #后台登录密码
--language=en_US \ #网站语言
--currency=USD \ #网站货币符号
--timezone=America/Chicago \ #网站时区
--use-rewrites=1 \
--search-engine=elasticsearch7 \
--elasticsearch-host=localhost \
--elasticsearch-port=9200 \
--elasticsearch-index-prefix=magento2 \
--elasticsearch-timeout=15

3.配置Nginx

安装之后发现并不能直接访问,那是因为你的nginx需要重新配置

vim /usr/local/nginx/conf/nginx.conf

相关server配置:

server
{
    listen 80 ;
    server_name _;
    proxy_connect_timeout 600;
    proxy_read_timeout 600;
    proxy_send_timeout 599;
    proxy_buffer_size 64k;
    proxy_buffers 4 32k;
    proxy_busy_buffers_size 64k;
    proxy_temp_file_write_size 64k;
    index index.html index.htm index.php;
    set $MAGE_ROOT /home/wwwroot/magento; #设置magento项目根目录
    include /home/wwwroot/magento/nginx.conf.sample; #引入magento项目的nginx.conf
    access_log  /home/wwwlogs/access.log;
}

新增server同级代理配置

upstream fastcgi_backend
{
    # use tcp connection server 127.0.0.1:9000; or socket
    server unix:/tmp/php-cgi.sock;
    #server unix:/var/run/php/php7.0-fpm.sock;
}

配置完成后,lnmp重启:

lnmp restart

七、运行Magento项目

此时的项目还不能直接使用,登录前台后会发现许多图片有问题,这时候需要做一些配置和编译:

sudo -u www php bin/magento module:disable Magento_Csp
sudo -u www php bin/magento module:disable Magento_TwoFactorAuth

编译指令:

sudo -u www php bin/magento maintenance:enable && rm -rf var/generation/* && rm -rf var/cache/* && rm -rf var/page_cache/* && rm -rf var/view_preprocessed/* && rm -rf pub/static/* && rm -rf generated/* && rm -rf var/maps/ && rm -rf var/view/ && rm -rf var/tmp/ && sudo -u www php bin/magento setup:upgrade && sudo -u www php bin/magento setup:di:compile && sudo -u www php bin/magento cache:flush && sudo -u www php bin/magento setup:static-content:deploy -f && sudo -u www php bin/magento cache:clean && sudo -u www php bin/magento cache:flush && sudo -u www php bin/magento maintenance:disable

至此,我们的magento项目就算搭建完成了,下面是访问的前台和后台页面
在这里插入图片描述
后台路由可以通过访问项目配置文件获取:

cat app/etc/env.php 

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

参考文档:
https://xiaoqiang.blog/magento-anzhuang/#google_vignette

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Linux CentOS 7.9 上设置防火墙的IP段配置,可以使用iptables或firewalld来实现。 1. 使用iptables设置IP段配置 在 CentOS 7.9 中,iptables 已经被 firewalld 替代,但仍然可以使用 iptables 进行设置。以下是一些基本的 iptables 命令: - 允许某个IP段访问本机的22端口:`iptables -I INPUT -p tcp --dport 22 -s 192.168.1.0/24 -j ACCEPT` - 允许本机访问某个IP段的22端口:`iptables -I OUTPUT -p tcp --sport 22 -d 192.168.1.0/24 -j ACCEPT` - 拒绝某个IP段访问本机的所有端口:`iptables -I INPUT -s 192.168.1.0/24 -j DROP` 需要注意的是,iptables 的规则可以被其他的防火墙软件覆盖掉,所以在使用 iptables 之前请确认其他的防火墙软件已经关闭。 2. 使用 firewalld 设置IP段配置 firewalld 是 CentOS 7.9 默认的防火墙软件。可以通过以下命令设置IP段配置: - 允许某个IP段访问本机的22端口:`firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="22" accept'` - 允许本机访问某个IP段的22端口:`firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" destination address="192.168.1.0/24" port protocol="tcp" port="22" accept'` - 拒绝某个IP段访问本机的所有端口:`firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" drop'` 需要注意的是,firewalld 的规则需要永久生效需要使用 --permanent 选项,并且需要重新加载防火墙规则才能生效:`firewall-cmd --reload`。 以上命令仅为示例,具体的命令需要根据实际情况进行调整。同时,防火墙的IP段配置需要根据具体的网络环境进行调整,需要仔细考虑网络安全问题。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值