zoukankan      html  css  js  c++  java
  • 中小企业架构(未完)

    项目目标:部署一个php电子商务网站

    部署前的系统规划图

    • 0 实现效果

    • 1 画一个简单的架构图

    • 2 使用到的技术进行简单说明

    • 3 主机规划

    • 4 搭建步骤

    • 5 脚本一键式部署完成

    • 1.1 架构设计图
    • 1.2 使用的技术简单说明

    技术栈:
    lvs,keepalived,mysql,nginx,rsync,nfs,php,pssh

    服务器简单说明 安装的技术服务
    nginx服务器 主要进行负载均衡,访问的分流
    动态web服务器 处理用户的动态界面访问
    静态web服务器 为用户提供静态的浏览,图片,附件等
    NFS存储服务器 上传的图片,附件,头像等
    mysql服务器 存储数据,进行主从备份
    rsync服务器 数据库的定时备份
    • 3.1 主机规划
    • 4.1 网站搭建流程
    • 因为时间原因,我就不源码安装程序的,全部使用yum进行安装,真实企业环境中,一定要在本地测试,性能进行优化,安装安全工具,进行系统检查

    • (1)节约时间进行lnmp的搭建
      两台机器同时进行搭建,可以使用ansible进行搭建,我这里使用轻量级的pssh工具进行自动化

    • 4.1.1mariadb源下载地址:

    image.png

    • 4.1.2nginx源下载地址:

    image.png

    • 4.1.3php源码下载地址:
    yum remove php php-common
    rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
    rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
    yum install php70w php70w-opcache
    yum install php70w-fpm php70w-opcache
    yum install php70w-pdo
    
    • 4.1.4配置镜像源

    image.png
    wget-O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

    • 4.1.5使用轻量级的自动化工具pssh

    image.png

    • 4.1.6创建mariadb源,推送ssh密钥

    image.png

    • 4.1.7推送nginx+mariadb

    image.png

    • 4.1.8测试pssh

    image.png

    • 4.1.9安装mariadb+nginx

    最好用脚本,写一个很简单

    image.png

    下载太慢,看看今天能不能搞完吧,那就简单搞了,不优化了,跑起来就行了
    image.png

    部署php,写个脚本直接运行

    !/bin/bash
    php_install(){
    #php编译安装
    #和nginx使用相同的用户,如果没有就创建
    `id www` &> /dev/null
    [ $? -ne 0 ] && useradd -s /sbin/nologin -M www
    #解决依赖
    yum -y install libxml2-devel libjpeg-devel libpng-devel freetype-devel curl-devel openssl-devel
    #解压
    tar xvf php-7.2.12.tar.gz
    cd php-7.2.12
    #编译安装php
    ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-mbstring --enable-ftp --with-gd --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --with-libzip --enable-soap --without-pear --with-gettext --disable-fileinfo --enable-maintainer-zts && make && make install
    #配置文件初始化
    cp php.ini-development /usr/local/php/etc/php.ini
    #php-fpm服务配置文件
    cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
    #php-fpm服务子配置文件
    cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
    #配置服务及其环境变量
    cp /root/soft/php-7.2.12/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
    chmod +x /etc/init.d/php-fpm
    service php-fpm start
    chkconfig --add php-fpm
    echo 'PATH=/usr/local/php/bin:$PATH' >> /etc/profile
    }
    #脚本开始时间
    start_time=`date +%s`
    #执行的脚本代码
    php_install
    #脚本结束时间
    end_time=`date +%s`
    #脚本执行花费时间
    const_time=$((end_time-start_time))
    echo 'Take time is: '$const_time's'
    

    image.png

    image.png

    查看开源项目的db.php 得知用户连接demo密码是demo
    image.png

    • 4.1.10直接访问电子商城网站
    • 4.1.10 测试负载均衡访问

    image.png

    • 4.2 数据库主从复制

    下载(php电子商务系统代码 两套项目)

    • 最近比较忙,没时间看看这个代码,就简单跑起来,导入数据到数据库
      image.png

    image.png

    下载没有提供zip使用Git下载
    image.png

    php电子商务商场系统效果图

    • 最近比较忙,没时间看看这个代码,就简单跑起来,导入数据到数据库
      image.png

    image.png

  • 相关阅读:
    HDU 4435
    、输入某人出生日期(以字符串方式输入,如198741)使用DateTime和TimeSpan类,(1)计算其人的年龄;(2)计算从现在到其60周岁期间,总共多少天。
    NetBeans IDE 7.0 Release Candidate 2 Now Available
    NetBeans 时事通讯(刊号 # 142 Apr 14, 2011)
    B3log Solo & B3log Symphony/Rhythm
    B3log Solo & B3log Symphony/Rhythm
    GAE SDK 1.4.3 发布了!
    NetBeans IDE 7.0 Release Candidate 2 Now Available
    Guice 3.0 正式版发布
    NetBeans 时事通讯(刊号 # 141 Mar 30, 2011)
  • 原文地址:https://www.cnblogs.com/carsar/p/13449567.html
Copyright © 2011-2022 走看看