标签搜索

实战案例:实现基于LAMP架构的类京东电商网站实战案例

lilymaxyz
2025-01-29 / 0 评论 / 31 阅读 / 正在检测是否收录...

@TOC

1.实验目的:实现基于LAMP架构的类京东电商网站实战案例

在这里插入图片描述
ShopXO 安全、稳定、高性能企业级B2C开源电商系统,基于php开发
遵循MIT开源协议发布,无需授权、可商用、可二次开发、满足99%的电商运营需求,安装超过100万+
官方网站:http://shopxo.net

2.环境要求

需要4台主机

节点名称ip地址节点信息
Rocky810.0.0.8eshop.wang.org网站
Rocky810.0.0.18Mysql
ubuntu2210.0.0.100防火墙
ubuntu2210.0.0.110DNS主服务器

3.前提准备

关闭SElinux

关闭防火墙
# -----
ufw disable

[09:27:58 root@ubuntu2204:~]# ufw status
Status: inactive
#如果是inactive表示已经关闭,如果是active表示已经启动


时间同步
# -----
apt -y install chrony; chronyc sources -v ; timedatectl set-timezone Asia/Shanghai


# 更新
apt update ; apt upgrade

4.实现步骤

  • 4台主机直接网络关系要打通

4.1.apache+php 服务器【10.0.0.8】

yum -y install httpd php php-mysqlnd php-json
systemctl enable --now httpd
rz
unzip shopxo-v6.3.0.zip
mv shopxo-v6.3.0/* /var/www/html/
chown -R apache.apache /var/www/html/
tcpdump -i eth0 -nn port 80

4.2.Rocky linux8 安装php8.0

4.2.1.安装remi源

dnf install epel-release
dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm

在这里插入图片描述

4.2.2.列出php版本

dnf module list php

在这里插入图片描述

4.2.3.变更php版本,Rocky8有提供php8版本,所以切换Rocky8提供的版本,而不是remi提供的版本,不过remi有提供php8.1和php8.2版本。

dnf module reset php
dnf module enable php:8.0

在这里插入图片描述

4.2.4.切换成remi提供的8.0版本

dnf module enable php:remi-8.0

在这里插入图片描述

4.2.5.安装php

# 报错安装
# dnf install libjpeg-turbo libtiff libwebp libXpm


dnf install php php-cli php-curl php-mysqlnd php-gd php-opcache php-zip php-intl

在这里插入图片描述

4.3.配置网关【10.0.0.8】

vim /etc/sysconfig/network-scripts/ifcfg-eth0

GATEWAY=10.0.0.100
nmcli conn reload;nmcli conn up eth0

在这里插入图片描述

4.4.MySQL 服务器 【10.0.0.18】

mysql> create database shopxo;
Query OK, 1 row affected (0.00 sec)

mysql> create user shopxo@'10.0.0.%' identified by '123456';
Query OK, 0 rows affected (0.02 sec)

mysql> grant all on shopxo.* to shopxo@'10.0.0.%';
Query OK, 0 rows affected (0.00 sec)

4.5.Linux防火墙

  • 设置防火墙规则
iptables -nvL
iptables -t nat -A PREROUTING -d 192.168.10.100 -p tcp --dport 80 -j DNAT --to-destination 10.0.0.8:80
  • 开启ip_forward
sysctl -a | grep ip_for

vim /etc/sysctl.conf
net.ipv4.ip_forward = 1

sysctl -p
  • 新增加一个网卡
[19:06:55 root@firewalld:~]# vim /etc/netplan/01-netcfg.yaml 
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      addresses:
      - 10.0.0.100/24
      gateway4: 10.0.0.2
      nameservers:
        search:
        - baidu.com
        addresses: [8.8.8.8, 129.19.19.19, 233.6.6.6]
    eth1:
      addresses:
      - 192.168.10.100/24
netplan apply

4.6.DNS主服务器

apt -y install bind9
vim /etc/bind/named.conf.options
# 修改
dnssec-validation no;
vim /etc/bind/named.conf.default-zones
# 新增
zone "wang.org" IN {
    type master;
    file  "/etc/bind/wang.org.zone";
};
vim /etc/bind/wang.org.zone

$TTL 1D
@    IN SOA    master admin (
                    1    ; serial
                    1D    ; refresh
                    1H    ; retry
                    1W    ; expire
                    3H )    ; minimum
            NS     master
master      A    10.0.0.110         
eshop         A    192.168.10.100

在这里插入图片描述

4.7.配置网站

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

4.8.主页

在这里插入图片描述

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

4.9.压力测试

yum -y install php-opcache

在这里插入图片描述

  • 测试页面
[19:53:54 root@Rocky8 ~]# vim /var/www/html/test.php
<?php
phpinfo();
?>
yum -y install httpd-tools
[20:18:30 root@centos7 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1
NAME=eth1
DEVICE=eth1
IPADDR=192.168.10.7
PREFIX=24
ONBOOT=yes
BOOTPROTO=static
DNS=192.168.10.110
#不需要网关
#不用配置DNS
[20:23:01 root@centos7 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
NAME=eth0
BOOTPROTO=static
IPADDR=10.0.0.7
PREFIX=24
GATEWAY=10.0.0.2
DNS1=192.168.10.110
ONBOOT=yes
[20:23:25 root@centos7 ~]# cat /etc/resolv.conf 
# Generated by NetworkManager
search 9
nameserver 192.168.10.110
# 测试
curl http://eshop.wang.org/test.php

ab -c 10 -n 100 http://eshop.wang.org/

在这里插入图片描述

endl

0

评论

博主关闭了所有页面的评论