美文网首页PHP经验分享我爱编程
😝xampp快速部署 LAMP环境 phper了解下

😝xampp快速部署 LAMP环境 phper了解下

作者: 欧巴冰冰 | 来源:发表于2018-05-23 13:35 被阅读22次

    服务器信息
    8核 CPU 型号 Intel(R) Xeon(R) CPU E7-4809 v3 @ 2.00GHz
    内存 16G
    硬盘 300G
    带宽 50M
    当前操作系统内核信息
    Linux guanwang-app-01 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

    当前操作系统版本信息
    Linux version 3.10.0-327.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.3 20140911 (Red Hat 4.8.3-9) (GCC) ) #1 SMP Thu Nov 19 22:10:57 UTC 2015

    当前操作系统发行版信息
    CentOS Linux release 7.2.1511 (Core)


    登录服务器

    ssh -p 22 root@xxx.xxx.xx

    查看分区 (如果已经分区请跳过此步骤)

    fdisk -l

    格式化分区

    mkfs -t ext4 /dev/sdb

    挂载创建文件夹且挂载

    mkdir /data
    mount /dev/sdb /data

    加到开机

    vim /etc/fstab
    /dev/sdb /data defaults 1 2

    挂在之后

    文件系统 容量 已用 可用 已用% 挂载点
    /dev/mapper/centos-root 18G 3.4G 15G 20% /
    devtmpfs 7.8G 0 7.8G 0% /dev
    tmpfs 7.8G 0 7.8G 0% /dev/shm
    tmpfs 7.8G 8.6M 7.8G 1% /run
    tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
    /dev/sda1 497M 126M 372M 26% /boot
    tmpfs 1.6G 0 1.6G 0% /run/user/0
    /dev/sdb 276G 276M 262G 1% /data


    关闭防火墙 (根据自己情况来,可以不关闭)

    1、关闭firewall:
    systemctl stop firewalld.service #停止firewall
    systemctl disable firewalld.service #禁止firewall开机启动
    2、关闭SELINUX
    vi /etc/selinux/config

    SELINUX=enforcing #注释掉

    SELINUXTYPE=targeted #注释掉

    SELINUX=disabled #增加
    setenforce 0 #使配置立即生效


    简述 XAMPP 官网 https://www.apachefriends.org/zh_cn/download.html

    XAMPP 是一款垮 windows mac limux 等平台,大约十多年——在它背后有一个巨大的社区,它是完全免费且易于安装的Apache发行版,
    其中包含MariaDB、PHP、Mysql和Perl。XAMPP开放源码包的设置让安装和使用。

    xampp-linux-x64-5.6.34-0-installer.run 包含下面依赖组建
    Apache 2.4.33, MariaDB 10.1.32, PHP 5.6.34 ,PEAR + SQLite 2.8.17/3.7.17 + multibyte (mbstring) support, Perl 5.16.3, ProFTPD 1.3.4c, OpenSSL 1.0.2o, GD 2.0.35, Freetype2 2.4.8, libpng 1.5.26, gdbm 1.8.3, zlib 1.2.8, expat 2.0.1, Sablotron 1.0.3, libxml 2.0.1, Ming 0.4.5, Webalizer 2.23-05, pdf class 0.11.7, ncurses 5.9, pdf class 0.11.7, mod_perl 2.0.8-dev, FreeTDS 0.91, gettext 0.19.8.1, IMAP C-Client 2007e, OpenLDAP (client) 2.4.21, mcrypt 2.5.8, mhash 0.9.9.9, cUrl 7.45.0, libxslt 1.1.29, libapreq 2.13, FPDF 1.7, ICU4C Library 4.8.1, APR 1.5.2, APR-utils 1.5.4

    下载

    wget https://jaist.dl.sourceforge.net/project/xampp/XAMPP%20Linux/5.6.34/xampp-linux-x64-5.6.34-0-installer.run

    给予权限

    chmod +x xampp-linux-x64-5.6.34-0-installer.run

    执行安装

    ./xampp-linux-x64-5.6.34-0-installer.run

    有选项给予 y 同意

    安装完毕之后 安装所有文件都在此目录下

    /opt/lampp

    命令目录

    /opt/lampp/bin

    命令 重启Apache和MySQL

    /opt/lampp/xampp restart

    单独开启 apache

    /opt/lampp/xampp startapache

    单独开启 mysql

    /opt/lampp/xampp startmysql

    单独关闭 apache

    /opt/lampp/xampp stopapache

    单独关闭 mysql

    /opt/lampp/xampp stopmysql

    命令添加到快捷方式

    ln -s /opt/lampp/bin/mysqldump /usr/bin/mysqldump
    ln -s /opt/lampp/bin/mysql /usr/bin/mysql
    ln -s /opt/lampp/bin/php /usr/bin/php
    ln -s /opt/lampp/bin/apachectl /usr/bin/apachectl

    主要配置文件如下

    mysql配置文件

    /opt/lampp/etc/my.cnf

    修改配置如下

    [mysqld]
    user = mysql
    port=3306
    socket = /opt/lampp/var/mysql/mysql.sock
    skip-external-locking
    key_buffer = 256M
    max_allowed_packet = 1M
    table_open_cache = 64
    sort_buffer_size = 6M
    net_buffer_length = 8K
    read_buffer_size = 4M
    read_rnd_buffer_size = 16M
    myisam_sort_buffer_size = 64M

    binlog_format = MIXED
    log-bin = /data/mysql/binlog/mysql-bin.log
    expire_logs_days = 20
    max_binlog_size = 200M
    binlog_cache_size = 64M
    max_binlog_cache_size = 512M
    sync_binlog = 0

    新增binlog

    innodb_buffer_pool_size = 500M
    innodb_additional_mem_pool_size = 20M
    innodb_log_file_size = 50M
    innodb_log_buffer_size = 20M
    innodb_flush_log_at_trx_commit = 0
    innodb_lock_wait_timeout = 50

    新增配置开始

    event_scheduler=ON
    back_log=500
    wait_timeout=1800
    max_connections=10000
    max_user_connections=2000
    thread_concurrency=64
    query_cache_size=40M
    thread_cache_size=64
    skip-name-resolve

    新增配置结束

    apache 配置文件

    /opt/lampp/etc/httpd.conf

    配置修改如下

    Listen 80
    Listen 8080

    DocumentRoot "/data/web"
    <Directory "/data/web">

    打开注释,加载并发配置

    Include etc/extra/httpd-mpm.conf

    apache 相关配置目录(并发配置,虚拟主机,SSL 证书等配置)

    /opt/lampp/etc/extra

    并发和进程配置文件

    /opt/lampp/etc/extra/httpd-mpm.conf

    httpd-mpm.conf 配置修改如下

    <IfModule mpm_prefork_module>
    StartServers 50
    MinSpareServers 50
    MaxSpareServers 50
    MaxRequestWorkers 2000
    MaxConnectionsPerChild 20000
    </IfModule>

    虚拟主机配置文件

    /opt/lampp/etc/extra/httpd-vhosts.conf

    配置修改如下

    <VirtualHost *:80>
    ServerName www.XXX.org
    ServerAlias djy-www.XXX.net
    DocumentRoot /data/web/XXX/www/webroot
    CustomLog "|/opt/lampp/bin/rotatelogs /opt/lampp/logs/wap_access_log.%y-%m-%d 1024M" combined
    </VirtualHost>

    <VirtualHost *:80>
    ServerName wap.XXX.org
    ServerAlias djy-wap.XXX.net
    DocumentRoot /data/web/XXX/wap/webroot
    CustomLog "|/opt/lampp/bin/rotatelogs /opt/lampp/logs/wap_access_log.%y-%m-%d 1024M" combined
    </VirtualHost>

    <VirtualHost *:80>
    ServerName api.XXX.com
    ServerAlias djy-api.XXX.net
    DocumentRoot /data/web/XXX/api/webroot
    CustomLog "|/opt/lampp/bin/rotatelogs /opt/lampp/logs/api_access_log.%y-%m-%d 1024M" combined
    </VirtualHost>

    SSL 配置文件

    /opt/lampp/etc/extra/httpd-ssl.conf

    扩展,例如支持 redis 库

    wget http://download.redis.io/releases/redis-4.0.9.tar.gz
    tar xzf redis-4.0.9.tar.gz
    cd redis-4.0.9
    make

    开启 redis 服务器端

    src/redis-server

    开启 redis 客户端

    redis> set foo bar
    OK
    redis> get foo
    "bar"

    PHP 支持访问 redis 即安装 phpredis2.XX 组建
    wget https://github.com/nicolasff/phpredis/archive/2.2.4.tar.gz
    tar zxvf phpredis-2.2.4.tar.gz #解压
    cd phpredis-2.2.4 #进入安装目录

    /opt/lampp/bin/phpize
    ./configure --with-php-config=/opt/lampp/bin/php-config #配置
    make #编译
    make install #安装

    php.ini 加上组建

    /opt/lampp/etc/php.ini
    extension="redis.so"

    重启 apache

    apachectl restart

    查看是否安装

    php -m

    卸载软件方式!!!谨慎卸载

    提前备份好数据库和代码后

    /opt/lampp/uninstall

    rm -rf /opt/lampp/


    #################### 部署代码 ####################

    安装 SVN

    yun install svn

    创建目录

    mkdir -p /data/web/XXX && cd /data/web/XXX

    svn co http://xxxxxxx/svn/repos/XXX/ ./

    拉取之后代码目录如下

    /data/web/XXX/api #接口代码
    /data/web/XXX/common #公共配置
    /data/web/XXX/deploy #线上部署脚本和配置
    /data/web/XXX/java #Java 模块
    /data/web/XXX/wap #手机端代码
    /data/web/XXX/www #电脑端代码

    替换 apache 配置脚本

    /data/web/XXX/deploy/apache.sh

    替换配置如下

    服务器配置

    cp /opt/lampp/etc/httpd.conf /opt/lampp/etc/httpd.conf.bak2

    rm -rf /opt/lampp/etc/httpd.conf
    cp /data/web/XXX/deploy/httpd_bak.conf /opt/lampp/etc/httpd.conf

    域名配置

    cp -i /opt/lampp/etc/extra/httpd-vhosts.conf /opt/lampp/etc/extra/httpd-vhosts.conf.bak

    rm -rf /opt/lampp/etc/extra/httpd-vhosts.conf
    cp /data/web/XXX/deploy/httpd-vhosts.conf /opt/lampp/etc/extra/httpd-vhosts.conf

    并发优化

    cp /opt/lampp/etc/extra/httpd-mpm.conf /opt/lampp/etc/extra/httpd-mpm.conf.bak

    rm -rf /opt/lampp/etc/extra/httpd-mpm.conf
    cp /data/web/XXX/deploy/httpd-mpm.conf /opt/lampp/etc/extra/httpd-mpm.conf

    更新SVN 然后替换配置脚本

    /data/web/XXX/deploy/svnup.sh

    替换配置,修改权限如下

    svn up /data/web/XXX

    rm -rf /data/web/XXX/wap/webroot/platform/js/config.js
    cp -R /data/web/XXX/deploy/conf/wap_config.js /data/web/XXX/wap/webroot/platform/js/config.js

    rm -rf /data/web/XXX/www/webroot/platform/js/config.js
    cp -R /data/web/XXX/deploy/conf/www_config.js /data/web/XXX/www/webroot/platform/js/config.js

    rm -rf /data/web/XXX/common/
    cp -R /data/web/XXX/deploy/conf/common /data/web/XXX

    chmod -R 777 /data/web/XXX/api/logs
    chmod -R 777 /data/web/XXX/admin/webroot/data
    chmod -R 777 /data/web/XXX/admin/webroot/public/upload

    相关文章

      网友评论

        本文标题:😝xampp快速部署 LAMP环境 phper了解下

        本文链接:https://www.haomeiwen.com/subject/oodrjftx.html