Linux平台(Centos7)-lnmp一键式部署mysql,nginx,php,php-fpm服务

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux平台(Centos7)-lnmp一键式部署mysql,nginx,php,php-fpm服务相关的知识,希望对你有一定的参考价值。

  Linux平台(Centos7)-lnmp一键式部署mysql,nginx,php,php-fpm服务

1. 部署方式1:手动部署. 6

1.1. 配置防火墙. 6

1.2. 关闭firewall 6

1.3. 安装iptables防火墙. 6

1.4. 安装Apache 7

1.5. 安装MariaDB 9

1.5.1. 安装MariaDB 9

1.5.2. 启动服务. 10

1.5.3. 设置开机启动. 10

1.5.4. 为root账户设置密码. 11

1.5.5. 重启MariaDB 11

1.5.6. 查询服务状态. 11

1.5.7. 为root账户设置密码. 12

1.6. 安装PHP 12

1.6.1. 安装PHP 12

1.6.2. 安装PHP组件. 13

1.6.3. 安装php组件. 14

1.7. Apache配置. 15

1.8. php配置. 15

1.8.1. php-fpm配置. 16

1.9. 部署测试. 16

1.10. nginx安装和配置. 17

1.10.1. 安装. 17

1.10.2. 配置. 19

1.11. web网站部署. 20

1.11.1. apache部署网站. 20

1.11.2. nginx部署网站. 21

1.12. 查看监听服务状态. 22

1.12.1. Php-fpm状态. 22

1.12.2. mariadb状态. 23

1.12.3. Nginx端口. 23

1.12.4. Php-fpm端口. 23

1.12.5. Apache状态. 23

1.12.6. Apache监听端口. 24

2. 部署方式2:一键式部署. 24

2.1. lnmp一键式部署. 24

2.1.1. 下载lnmp1.3-full.tar.gz包. 24

2.1.2. 安装lnmp1.3-full.tar.gz 24

2.1.3. 安装完成. 26

2.2. 软件配置文件预览. 27

2.3. 服务状态管理. 28

2.4. 修改 mysql配置文件. 28

2.5. 导入项目和数据库脚本. 30

2.6. 修改站点目录权限. 31

2.7. 配置nginx站点服务. 31

2.8. 添加伪静态规则. 32

2.9. 硬盘启动系统. 33

2.10. 性能优化配置. 34

2.10.1. 优化nginx配置文件. 34

2.10.2. 优化php-fpm配置文件. 34

2.10.3. 优化mysql配置文件. 34

2.10.4. 修改ThinkTemplate.class.php文件. 34

2.10.5. 成绩提交优化. 35

2.10.6. 同步windows和linux系统时间. 36

2.10.7. 修改php.ini文件. 37

2.10.8. 安装xcache加速缓存. 37

3. 部署方式3:大赛空环境部署方案. 38

3.1. 安装Centos7 64位服务器. 38

3.1.1. 重启网卡. 38

3.1.2. 安装ifconfig命令. 38

3.1.3. 查看服务器ip地址. 39

3.2. 安装lnmp环境和xcache 39

3.2.1. 安装lnmp环境. 39

3.2.2. 安装xcache 39

3.3. 打包代码上传和安装. 40

3.4. 检查服务状态. 41

3.4.1. Nginx服务. 41

3.4.2. Php-fpm服务. 42

3.4.3. Mysql服务. 42

3.5. 设置服务器静态ip 42

3.5.1. 查看动态获取的网卡信息:. 42

3.5.2. 执行wmspStaticIP.sh脚本. 42

3.5.3. 查看执行完成后的静态ip地址. 43

 

 

1.部署方式1:手动部署

1.1.配置防火墙

    开启80端口、3306端口

    CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙。

1.2.关闭firewall

    systemctl stop firewalld.service #停止firewall

    systemctl disable firewalld.service #禁止firewall开机启动

1.3.安装iptables防火墙

    yum install iptables-services #安装

    vim /etc/sysconfig/iptables #编辑防火墙配置文件

    # Firewall configuration written by system-config-firewall

    # Manual customization of this file is not recommended.

    *filter

    :INPUT ACCEPT [0:0]

    :FORWARD ACCEPT [0:0]

    :OUTPUT ACCEPT [0:0]

    -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

    -   A INPUT -p icmp -j ACCEPT

    -A INPUT -i lo -j ACCEPT

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

    -A INPUT -j REJECT --reject-with icmp-host-prohibited

    -A FORWARD -j REJECT --reject-with icmp-host-prohibited

    COMMIT

    :wq!

    systemctl restart iptables.service #最后重启防火墙使配置生效

    systemctl enable iptables.service #设置防火墙开机启动

    systemctl status iptables

1.4.安装Apache

    yum install httpd #根据提示,输入Y安装即可成功安装

 

 

 

    看到 Complete 则安装成功。

    命令:

    systemctl start httpd.service #启动apache

    systemctl stop httpd.service #停止apache

    systemctl restart httpd.service #重启apache

    systemctl restart network.service #重启网络

    systemctl enable httpd.service #设置apache开机启动

    systemctl status httpd #查看apache状态 、

    systemctl status mariadb

    netstat -lnp |grep httpd  #端口监听

    httpd -v #查看apache版本  --Apache/2.4.6

    mysql --help |grep Distrib #查看mysql版本  --Distrib 5.5.52-MariaDB

    php -v #查看php版本  --PHP 5.4.16

    3): 修改ip: /etc/sysconfig/network-scripts/ifcfg-eth0  。配置文件。(永久修改)

    设置后。运行此命令才生效:#  /etc/rc.d/init.d/network restart

    在客户端浏览器中打开服务器IP地址,会出现下面的界面,说明apache安装成功 【http://192.168.0.247/】

1.5.安装MariaDB

    CentOS 7.0中,已经使用MariaDB替代了MySQL数据库

1.5.1.安装MariaDB

    yum install mariadb mariadb-server #询问是否要安装,输入Y即可自动安装,直到安装完成   (yum groupinstall mariadb mariadb-client -y)

 

 

 

 

    看到 Complete 则安装成功。

1.5.2.启动服务

    systemctl start mariadb.service

 

1.5.3.设置开机启动

    systemctl enable mariadb.service

 

1.5.4.为root账户设置密码

    mysql_secure_installation

 

1.5.5.重启MariaDB

    systemctl restart mariadb.service

1.5.6.查询服务状态

    systemctl status mariadb

 

    systemctl start mariadb.service #启动MariaDB

    systemctl stop mariadb.service #停止MariaDB

    systemctl restart mariadb.service #重启MariaDB

    systemctl enable mariadb.service #设置开机启动

    systemctl status mariadb #查询服务状态

    cp /usr/share/mysql/my-huge.cnf /etc/my.cnf #拷贝配置文件(注意:如果/etc目录下面默认有一个my.cnf,直接覆盖即可)

1.5.7.为root账户设置密码

    mysql_secure_installation

    回车,根据提示输入Y

    输入2次密码,回车 【root,root】

    根据提示一路输入Y

    最后出现:Thanks for using MySQL!

    MySql密码设置完成,重新启动 MySQL:

    systemctl restart mariadb.service #重启MariaDB

1.6.安装PHP

1.6.1.安装PHP

    yum install php #根据提示输入Y直到安装完成

    1、安装PHP

    yum install php #根据提示输入Y直到安装完成

 

    安装信息

 

    安装完成

 

    看到 Complete 则安装成功。

1.6.2.安装PHP组件

    使PHP支持 MariaDB

    yum install php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-bcmath php-mhash

    #这里选择以上安装包进行安装,根据提示输入Y回车

    systemctl restart mariadb.service #重启MariaDB

    systemctl restart httpd.service #重启apache

 

安装完成

 

看到 Complete 则安装成功。

1.6.3.安装php组件

    使nginx支持php:

    yum install -y php php-devel php-fpm php-mysql php-common php-devel php-gd libjpeg* php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath php-mhash libmcrypt libmcrypt-devel

1.7.Apache配置

    vi /etc/httpd/conf/httpd.conf #编辑文件

    ServerSignature On  #添加,在错误页中显示Apache的版本,Off为不显示

    Options Indexes FollowSymLinks  #修改为:Options Includes ExecCGI FollowSymLinks(允许服务器执行CGI及SSI,禁止列出目录)

    #AddHandler cgi-script .cgi #修改为:AddHandler cgi-script .cgi .pl (允许扩展名为.pl的CGI脚本运行)

    AllowOverride None  #修改为:AllowOverride All (允许.htaccess)

    AddDefaultCharset UTF-8 #修改为:AddDefaultCharset GB2312 (添加GB2312为默认编码)

    #Options Indexes FollowSymLinks   #修改为 Options FollowSymLinks(不在浏览器上显示树状目录结构)

    DirectoryIndex index.html   #修改为:DirectoryIndex index.html index.htm Default.html Default.htm index.php(设置默认首页文件,增加index.php)

    MaxKeepAliveRequests 100  #添加MaxKeepAliveRequests 500 (增加同时连接数)

:wq! #保存退出

    systemctl restart httpd.service #重启apache

    rm -f /etc/httpd/conf.d/welcome.conf /var/www/error/noindex.html #删除默认测试页

1.8.php配置

    vi /etc/php.ini #编辑

    date.timezone = PRC #把前面的分号去掉,改为date.timezone = PRC

    disable_functions =     passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd, posix_getegid,posix_geteuid,posix_getgid, posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname

    #列出PHP可以禁用的函数,如果某些程序需要用到这个函数,可以删除,取消禁用。

    expose_php = Off #禁止显示php版本的信息

    short_open_tag = ON #支持php短标签

    open_basedir = .:/tmp/  #设置表示允许访问当前目录(即PHP脚本文件所在之目录)和/tmp/目录,可以防止php木马跨站,如果改了之后安装程序有问题(例如:织梦内容管理系统),可以注销此行,或者直接写上程序的目录/data/www.osyunwei.com/:/tmp/

    :wq! #保存退出

1.8.1.php-fpm配置

    cd /usr/sbin

    ./php-fpm

    ps -ef|grep php-fpm

    systemctl restart mariadb.service #重启MariaDB

    systemctl restart httpd.service #重启apache

    systemctl status  php-fpm

    netstat -lnp |grep php-fpm

    netstat -lnp |grep nginx

    a) systemctl start php-fpm #开启php-fpm

    b) systemctl enable php-fpm #开机自动启动

1.9.部署测试

    cd /var/www/html

    vi index.php #输入下面内容

    <?php

    phpinfo();

    ?>

    :wq! #保存退出

    在客户端浏览器输入服务器IP地址,可以看到如下图所示相关的配置信息!

    注意:apache默认的程序目录是/var/www/html

 

    说明apache 启动php成功。

1.10.nginx安装和配置

1.10.1.安装

使用源码编译安装:

 

Make:

 

Nginx部署测试:

/usr/local/nginx/html 新建 index.php

http://192.168.0.246:81/

部署 成功信息:

说明nginx部署 成功。

1.10.2.配置

    启动、停止nginx

    cd /usr/local/nginx/sbin/

    ./nginx

    ./nginx -s stop

    ./nginx -s quit

    ./nginx -s reload

    ./nginx -s quit:此方式停止步骤是待nginx进程处理任务完毕进行停止。

    ./nginx -s stop:此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程。

    查询nginx进程:

    ps aux|grep nginx

    重启 nginx

    1.先停止再启动(推荐):

    对 nginx 进行重启相当于先停止再启动,即先执行停止命令再执行启动命令。如下:

    cd /usr/local/nginx/sbin/

    ./nginx -s quit

    ./nginx

    netstat -lnp |grep 81

    ps -ef |grep nginx 

    2.重新加载配置文件:

    当 ngin x的配置文件 nginx.conf 修改后,要想让配置生效需要重启 nginx,使用-s     reload不用先停止 ngin x再启动 nginx 即可将配置信息在 nginx 中生效,如下:

    cd /usr/local/nginx/sbin/

    ./nginx -s reload

    启动成功后,在浏览器可以看到这样的页面:

 

    3.日志

    /usr/local/nginx/logs

    开机自启动

    即在rc.local增加启动代码就可以了。

    vi /etc/rc.local

    增加一行 /usr/local/nginx/sbin/nginx

    设置执行权限:

    chmod 755 rc.local

   

1.11.web网站部署

1.11.1.apache部署网站

    打开:apache服务:

    /etc/httpd/conf/httpd.conf 配置文件

    设置:

    Listen 80     #监听端口

    Listen 10080

    Listen 8010

    User apache  #用户

    Group apache #组

    ServerName 192.168.0.246:10080

    <Directory "/web">#网站授权

         AllowOverride All

         # Allow open access:

        Require all granted

    </Directory>

    DocumentRoot "/web/wmsp" #站点路径

    重启httpd即可。

    systemctl restart httpd.service

1.11.2.nginx部署网站

    打开nginx服务配置文件:

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

    设置:

    server {

        listen       10080;     #监听端口

        server_name  localhost;

        location / {

            root    /web/wmsp;  #站点路径

            index  index.php index.html index.htm;

             }

        location = /50x.html {

            root   html;

             }

        location ~ \.php$ {

            root           /web/wmsp;  #站点路径

            fastcgi_pass   127.0.0.1:9000;  #php-fpm监听端口

            fastcgi_index  index.php;

            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

            include        fastcgi_params;

        }

    重启nginx服务:

    cd /usr/local/nginx/sbin/

    ./nginx -s reload

    设置:#php-fpm参数:

    vi /etc/php-fpm.d/www.conf

    找到以下两行,解除注释

    listen.owner = nobody

    listen.group = nobody

    找下以下两行,将各自的apache改为nginx

    user = apache -> user = nginx

    group = apache -> group = nginx

    如果没有nginx用户,则新建。

1.12.查看监听服务状态

1.12.1.Php-fpm状态

 

1.12.2.mariadb状态

 

1.12.3.Nginx端口

 

1.12.4.Php-fpm端口

 

1.12.5.Apache状态

 

1.12.6.Apache监听端口

 

2.部署方式2:一键式部署

2.1.lnmp一键式部署

2.1.1.下载lnmp1.3-full.tar.gz包

    将lnmp1.3-full.tar.gz上传到服务器 /home

2.1.2.安装lnmp1.3-full.tar.gz

    执行命令:

    cd /home

    tar -zxvf lnmp1.3-full.tar.gz && cd lnmp1.3-full  &&  ./install.sh  lnmp

    根据提示 :

    输入mysql密码;        输入----123456

    是否启用InnoDB           输入----y

    选择 mysql版本 5.7       输入----6

    选择php版本 5.6         输入-----5

    是否内存优化:选择     输入-----1

   

    提示"Press any key to install...or Press Ctrl+c to cancel"后,

    按回车键确认开始安装。

    LNMP脚本就会自动安装编译

    Nginx、MySQL、PHP、phpMyAdmin、Zend Optimizer这几个软件。

    安装时间可能会几十分钟到几个小时不等,

    主要是机器的配置网速等原因会造成影响。

2.1.3.安装完成

 

    验证:nginx访问php是否成功:

    http://192.168.0.229:8010/phpinfo.php

    (默认没有配置端口,则不需要输入8010),输出php版本信息 ,则连接成功。

 

2.2.软件配置文件预览

    Nginx目录:

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

    Mysql目录:

    /usr/local/mysql/bin/mysqld

    /etc/my.cnf

    Mysql数据库所在目录:

    /usr/local/mysql/var

    MariaDB目录:

    /usr/local/mariadb/

    MariaDB数据库所在目录:

    /usr/local/mariadb/var

    Php目录:

    /usr/local/php/etc/php.ini

    Php-frm目录:

    /usr/local/php/etc/php-fpm.conf

    PhpMyAdmin目录

    /home/wwwroot/default/phpmyadmin

    站点默认发布目录:

    /home/wwwroot/default

    Nginx日志文件路径:

    /home/wwwlogs/

    /root/vhost.sh添加虚拟主机配置文件所在目录:

    /usr/local/nginx/conf/vhost

2.3.服务状态管理

    Lnmp状态管理:

    lnmp start| stop| reload|restart|kill |status

    Lnmp 各个程序状态管理

    Lnmp nginx | mysql|php-fpm {start|stop| reload|restart|kill |status}

    Nginx状态管理

    /etc/init.d/nginx/ start| stop| reload|restart

    Mysql状态管理:

    /etc/init.d/mysql/ start| stop| reload|restart

    Php-fpm状态管理:

    /etc/init.d/php-fpm/ start| stop| reload|restart

2.4.修改 mysql配置文件

    为了 解决sql导入数据校验问题。

    Vi /ect/my.cnf

    [mysqld]下面增加:

    sql-mode=‘‘

 

    重启mysql

    #/etc/init.d/mysql  restart

    或者:

    # systemctl restart mysql.service

    允许root用户在任何地方进行远程登录,并具有所有库任何操作权限,

    具体操作如下:

    在本机先使用root用户登录mysql: mysql -u root -p"123456" 进行授权操作:

    mysql>GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘123456‘ WITH GRANT OPTION;

    重载授权表:

    FLUSH PRIVILEGES;

    退出mysql数据库:

    exit

2.5.导入项目和数据库脚本

    Ubuntu系统安装完成后;本地navicat链接服务器存在不通的情况;

    1:检查3306端口是否通讯,

    2:ping 服务器是否通讯,

    3:my.cnf 文件是否存在ip绑定

    4:防火墙是否关闭

    5:查看已有的iptables规则,以序号显示

    #iptables -L -n --line-numbers

    #iptables -D INPUT  5

 

    再次尝试用 navicat 链接服务器。

    1:导入站点wmsp 到/home/wwwroot 目录下。

    2:导入站点yiqi到/home/wwwroot目录下。

    3:新建数据库pigcms和 qixiu;

    mysql –u root –p “123456”

    创建pigcms:

    mysql>  CREATE DATABASE `pigcms` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

    创建qixiu:

    mysql> CREATE DATABASE `qixiu` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

    4:mysql 导入sql脚本:

    mysql –u root –p “123456”

    use pigcms;

    source /home/wwwroot/wmsp/install/pigcms.sql;

    use qixiu;

    source /home/wwwroot/yiqi/qixiu.sql

2.6.修改站点目录权限

    修改/home/wwwroot/wmsp/Conf目录及子目录权限,增加写入权限

    chmod  -R 755 /home/wwwroot/wmsp/Conf

    chown www:www -R  /home/wwwroot/wmsp

    修改/home/wwwroot/wmsp/uploads目录及子目录权限,增加写入权限

    chmod  -R 755 /home/wwwroot/wmsp/uploads

    修改/home/wwwroot/yiqi 目录及子目录权限,增加写入权限

    chmod  -R 755  /home/wwwroot/yiqi

    chown www:www -R  /home/wwwroot/yiqi

2.7.配置nginx站点服务

    vi /usr/local/nginx/conf/nginx.conf

    配置10080端口

    root  /home/wwwroot/wmsp;

 

    配置8010端口

    将 server段拷贝一份 将端口改为8010。

    root  /home/wwwroot/yiqi;

 

    重启服务:

    #lnmp restart

2.8.添加伪静态规则

    cd /usr/local/nginx/conf/

    新建伪静态文件:

    htaccess.conf

    Vi /usr/local/nginx/conf/ htaccess.conf

    编写伪静态规则:

        if (!-e $request_filename) {

            rewrite  /index.php?(.*)$  /index.php?$1 last;

            rewrite  ^(.*)$  /index.php?s=$1  last;

            break;

        }

    更新 nginx.conf

    vi /usr/local/nginx/conf/nginx.conf

    include  htaccess.conf

 

    重启 nginx

    /etc/init.d/nginx   restart

2.9.硬盘启动系统

    Ubuntu系统 可能发生 找不到网络接口

    命令:

    dmesg |grep eth

   

    vi /etc/network/interfaces

 

    重启网卡

    systemctl restart networking.service

2.10.性能优化配置

2.10.1.优化nginx配置文件

修改/usr/local/nginx/conf/nginx.conf 的内容为附件中的内容。

 

2.10.2.优化php-fpm配置文件

修改/usr/local/php/etc/php-fpm.conf 的内容为附件中的内容。

 

2.10.3.优化mysql配置文件

修改/etc/my.cnf 的内容为附件中的内容。

 

2.10.4.修改ThinkTemplate.class.php文件

    /home/wwwroot/wmsp/Lib/Template/ThinkTemplate.class.php

    新增如下代码:

   $tmplCacheFile=$this->config[‘cache_path‘].$prefix.md5($tmplTemplateFile).$this->config[‘cache_suffix‘];

        if(file_exists($tmplCacheFile)){

            return $tmplCacheFile;

        }

 

附件目录见:

 

    $/电子商务系列/奥派微信营销实训平台软件/2.代码库/Environmental

    备注:修改后重启服务

    systemctl  restart nginx.service

    systemctl  restart mysql.service

    systemctl  restart php-fpm.service

2.10.5.成绩提交优化

1.更新配置文件

/home/wwwroot/wmsp/Conf/config.php

‘OPEN_SCORE_QUEUE‘ => 1,     //学生提交成绩时,是否启用异步队列。1开启0关闭。开启时需要windows下的计划配合

2.新建执行文件:

#Vi /home/wwwroot/wmsp /commit.sh

输入内容:

cd /home/wwwroot/wmsp

/usr/local/php/bin/php -f /home/wwwroot/wmsp/index.php ./log1

/usr/local/php/bin/php -f /home/wwwroot/wmsp/index.php ./log2

/usr/local/php/bin/php -f /home/wwwroot/wmsp/index.php ./log3

/usr/local/php/bin/php -f /home/wwwroot/wmsp/index.php ./log4

:wq保存

3.新建linux任务计划

# crontab –e

输入

*/5 * * * *  /home/wwwroot/wmsp/commit.sh

:wq保存

查询linux任务计划

#crontab -l

*/5 * * * *  /home/wwwroot/wmsp/commit.sh

//删除任务计划

# crontab -r

2.10.6.同步windows和linux系统时间

    新增:

    Crontab –e 新增

    */1 * * * * /home/wwwroot/wmsp/setDate.sh >log

    */1 * * * * /home/wwwroot/wmsp/getDateDiff.sh >log

    [[email protected] wmsp]# crontab -l

    */5 * * * * /home/wwwroot/wmsp/commit.sh >log

    */1 * * * * /home/wwwroot/wmsp/setDate.sh >log

    */1 * * * * /home/wwwroot/wmsp/getDateDiff.sh >log

2.10.7.修改php.ini文件

    文件目录:

    /usr/local/php/etc/php.ini

    memory_limit = 128M 改成了512M

    memory_limit = 512M

2.10.8.安装xcache加速缓存

    cd /home/lnmp1.3-full && ./addons.sh install xcache

    根据提示输入密码(该密码用于访问xcache配置页面),

    12345678

    如下图:

 

    修改php.ini:

    /usr/local/php/etc/php.ini

    xcache.size  =               60M

    xcache.var_size  =             0

    保存后重启php-fpm

    syetemctl  php-fpm restart

3.部署方式3:大赛空环境部署方案

3.1.安装Centos7 64位服务器

    采用最小化安装后 打开:

    vi /etc/sysconfig/network-scripts/ifcfg-ens33

    (ifcfg-ens33 网卡名 依据当前系统的名称修改)

 

    更改:Onboot=yes 保存,ip采用自动获取方式。

3.1.1.重启网卡

    systemctl restart network.service

    保证Centos7服务器已经能够访问外网(大赛需要联网)

    ping  www.baidu.com

3.1.2.安装ifconfig命令

    yum install -y net-tools

    安装unzip zip命令(可选):

    yum install -y unzip zip

3.1.3.查看服务器ip地址

    ifconfig

3.2.安装lnmp环境和xcache

3.2.1.安装lnmp环境

    上传lnmp1.3-full.tar.gz包到 /home目录下,执行

    cd /home

    tar -zxvf lnmp1.3-full.tar.gz && cd lnmp1.3-full  &&  ./install.sh  lnmp

根据提示 :

    输入mysql密码;        输入----123456

    是否启用InnoDB           输入----y

    选择 mysql版本 5.7       输入----6

    选择php版本 5.6         输入-----5

    是否内存优化:选择     输入-----1

   

    提示"Press any key to install...or Press Ctrl+c to cancel"后,

    按回车键确认开始安装。

    LNMP脚本就会自动安装编译

    Nginx、MySQL、PHP、phpMyAdmin、Zend Optimizer这几个软件。

    安装时间可能会几十分钟到几个小时不等,

    主要是机器的配置网速等原因会造成影响。

 

3.2.2.安装xcache

    cd /home/lnmp1.3-full && ./addons.sh install xcache

    根据提示输入密码(该密码用于访问xcache配置页面),

    12345678

 

    Enter键 进行安装;

    安装完成:

 

    则说明xcache安装完成;

    检查/usr/local/php/etc/php.ini配置文件:

 

…….

则php说明完成配置成功。

3.3.打包代码上传和安装

1、 将TFS目录:$/电子商务系列/奥派微信营销实训平台软件/2.代码库 下:

Environmental文件夹、wmsp文件夹、yiqi文件夹、install.sh文件打成一个wxyx.tar.gz包(使用7zip压缩包)

2、上传wxyx.tar.gz包到服务器的/home/wwwroot目录下

3、解压执行 tar -zxvf wxyx.tar.gz   

4、执行/home/wwwroot/install.sh

5、按提示输入后安装完成

如下图:

[[email protected] wwwroot]# sh install.sh

please input AllPassMSDD_IP address:192.168.0.4 【外围服务器ip】

your input AllPassMSDD_IP address is: 192.168.0.4

please input WMSP_IP address:192.168.0.223     【微信营销服务器ip】

your input WMSP_IP address is: 192.168.0.223

Please confirm the IP you entered...Press any key to Continue...or Press Ctrl+c to cancel!

 

 

执行结果如下图:则说明 部署成功。

 

 

 

3.4.检查服务状态

控制台输入:

# lnmp status

 

+-------------------------------------------+

|    Manager for LNMP, Written by Licess    |

+-------------------------------------------+

|              http://lnmp.org              |

+-------------------------------------------+

nginx (pid 979 978 977 976 970) is running...

php-fpm is runing!

SUCCESS! MySQL running (2214)

出现上述 提示:则说明 nginx,php,Mysql 3个服务器都是运行正常的。

 

3.4.1.Nginx服务

    #netstat -alnp |grep nginx

#ps -ef |grep nginx

 

重启nginx:

# /etc/init.d/nginx  restart

Or:

# systemctl restart nginx.service

# systemctl restart nginx.service

 

 

 

3.4.2.Php-fpm服务

    #netstat -alnp |grep php-fpm

#ps -ef |grep php-fpm

 

 

重启php-fpm:

# /etc/init.d/php-fpm restart

Or:

# systemctl restart php-fpm.service

 

 

3.4.3.Mysql服务

    #netstat -alnp |grep mysql

#ps -ef |grep mysql

 

重启mysql:

# /etc/init.d/mysql restart

Or:

# systemctl restart mysql.service

 

 

3.5.设置服务器静态ip

3.5.1.查看动态获取的网卡信息:

#vi /etc/sysconfig/network-scripts/ifcfg-ens33

 

脚本功能主要是:

在ifcfg-ens33文件后追加:

IPADDR=192.168.0.202

NETMASK=255.255.255.0

GATEWAY=192.168.0.1

DNS1=218.2.135.1

DNS2=114.114.114.114

BOOTPROTO=dhcp 改成 static。

然后重启服务:

systemctl restart network.service

遇到突发情况:如shell脚本执行失败,可以考虑手动更新文件后手动重启服务。

 

3.5.2.执行wmspStaticIP.sh脚本

执行 /2.代码库/Environmental/wmspStaticIP.sh

#sh wmspStaticIP.sh

1:IPADDR IP –输入服务器IP地址 如: 192.168.0.208

2:NETMASK: --输入子网掩码 如:255.225.225.0

3:GATEWAY: --输入默认网关 如:192.168.0.1

4:DNS1 IP: --输入DNS1如: 218.2.135.1

4:DNS2 IP: --输入DNS2如: 114.114.114.114

执行结果,如下图:

 

 

3.5.3.查看执行完成后的静态ip地址

#vi /etc/sysconfig/network-scripts/ifcfg-ens33

如下图:

 

3.5.4.检查服务器IP配置

检查服务器ip配置:

#ifconfig

 

说明IP为  192.168.0.202

 

测试是否联网外围:

#ping www.baidu.com

 

说明 能够联网外网。

 

 

3.6.数据备份

核心脚本如下:

echo "dataBackup is start!"

cd /home/wwwroot/

tar -czvf wmsp_dataBackup.tar.gz  wmsp

tar -czvf yiqi_dataBackup.tar.gz  yiqi

echo "wmspbak,yiqibak dataBackup is success"

mysqldump -u root -p123456 pigcms > pigcms_dataBackup.sql

mysqldump -u root -p123456 qixiu > qixiu_dataBackup.sql

echo "pigcms_dataBackup,qixiu_dataBackup is success"

echo "Backing up. Wait a minute......"

cp -rf wmsp_dataBackup.tar.gz /home/

cp -rf yiqi_dataBackup.tar.gz /home/

cp -rf pigcms_dataBackup.sql /home/

cp -rf qixiu_dataBackup.sql /home/

echo "copy dataBackup is All success......"

exit

3.6.1.1:执行备份shell脚本

#cd /home/wwwroot/Environmental

# sh dataBackup.sh

执行完成后 如下提示,则说明备份成功。

 

 

3.6.2.2:拷贝备份文件到U盘

拷贝 /home下面的4个备份文件 到U盘(4GB以上,推荐8GB以上)。

#cd /home

wmsp_dataBackup.tar.gz

yiqi_dataBackup.tar.gz

pigcms_dataBackup.sql

qixiu_dataBackup.sql

 

使用软件库里面的 SSHSecureShellClient_downcc.zip或者MobaXterm_Setup_9.4.msi

链接到服务器下载到桌面或者直接拷贝到U盘即可。

 

3.7.数据还原

核心脚本如下:

cd /home

mysqldump -u root -p123456 pigcms < pigcms_dataBackup.sql

mysqldump -u root -p123456 qixiu < qixiu_dataBackup.sql

#cp -rf wmsp_dataBackup.tar.gz  ./wwwroot/

#cp -rf yiqi_dataBackup.tar.gz  ./wwwroot/

cd wwwroot/

mv wmsp wmsp_old

mv yiqi yiqi_old

tar -xzvf  wmsp_dataBackup.tar.gz

tar -xzvf  yiqi_dataBackup.tar.gz

echo "dataReduction is All success"

exit

 

3.7.1.1:站点还原:

将之前备份的4个文件放到/home下面

执行dataReduction.sh

#cd /home/wwwroot/Environmental

# sh dataReduction.sh

 

 

4.部署缓存服务器

4.1.安装memcached

4.1.1.memcached安装部署

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。

安装
进入lnmp解压后的目录,执行:./addons.sh install memcached 

 

输入对应的序号 2 ,回车,再次确认回车开始安装。

 

看到 Memcached installed successfully, enjoy it!则说明安装成功。
卸载
执行:./addons.sh uninstall memcached

 

4.1.2.memcached配置

1 :部署安装路径说明:

/usr/local/memcached      –服务端

/usr/local/libmemcached   --客户端

/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/memcached.so –插件

 

/usr/local/php/etc/php.ini里面新增

extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/memcached.so

 

#查看是否php模块安装成功

[[email protected] lnmp1.3-full]# php -m | grep memcached

memcached

 

2:启动memcached :   

启动服务(命令默认在/usr/local/memcached/bin/memcached。

主要的启动参数

-p 监听的端口
-l 连接的IP地址, 默认是本机
-d start 启动memcached服务
-d restart 重起memcached服务
-d stop|shutdown 关闭正在运行的memcached服务
-d install 安装memcached服务
-d uninstall 卸载memcached服务
-u 以的身份运行 (仅在以root运行的时候有效)
-m 最大内存使用,单位MB。默认64MB
-M 内存耗尽时返回错误,而不是删除项
-c 最大同时连接数,默认是1024
-f 块大小增长因子,默认是1.25
-n 最小分配空间,key+value+flags默认是48
-h 显示帮助

 

 

启动命令:

#/usr/local/memcached/bin/memcached -d -l 127.0.0.1 -p 11211 -u root -m 1024 -c 4000 -P /var/run/memcached.pid

 

 

查看进程:

 [[email protected] wmsp]# ps -aux |grep mem

 

root     10961  0.0  0.0 314928  1040 ?        Ssl  10:14   0:00 /usr/local/memcached/bin/memcached -d -l 127.0.0.1 -p 11211 -u root -m 64 -c 1024 -P /var/run/memcached.pid

4.1.3.memcached配置nginx服务

server {

        listen       10090;

        server_name  127.0.0.1;

        location / {

            root   html;

            index  index.php index.html index.htm;

            set  $memcached_key  $uri; #uri是url剃掉主机名,赋值给memcached_key

            memcached_pass  127.0.0.1:11211;#转发给memcached

            error_page 404 502 [email protected];#必须以@首字符命名

        }

        location @fallback {

            proxy_pass http://backend  #集群服务器节点

root html;#到root下查找网页

            index index.php;   #指定首页名叫index.php

           

        }

4.1.4.memcached配置测试

1:新建memcached.php

[[email protected] wmsp]# cat memcached.php

<?php

  error_reporting(E_ALL & ~E_NOTICE);

  $m = new Memcached();

  $m->addServer("127.0.0.1", 11211);

  $m->set("foo", "Hello!");

  $m->set("bar", "Memcached...");

  $arr = array(

       $m->get("foo"),

       $m->get("bar")

   );

   print_r($arr);

 

访问:http://192.168.0.202:10080/memcached.php

Array ( [0] => Hello! [1] => Memcached... )

 

2:查看Memcached信息

#telnet 127.0.0.1 11211

Trying 127.0.0.1...

Connected to 127.0.0.1.

Escape character is ‘^]‘.

stats

 

 

4.2.安装Redis

4.2.1.Redis安装部署

Redis是一个开源、支持网络、基于内存、键值对存储数据库。

安装
进入lnmp解压后的目录,执行:./addons.sh install redis

 

看到Redis installed successfully, enjoy it!,则安装成功。

 

 

4.2.2.Redis配置

1 :部署安装路径说明:

/usr/local/redis

/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/redis.so –插件

 

/usr/local/php/etc/php.ini里面新增

extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/redis.so

/var/run/redis.pid

 

进程端口:

[[email protected] lnmp1.3-full]# ps aux |grep redis

root     25636  0.1  0.0 136944  7512 ?        Ssl  15:59   0:02 /usr/local/redis/bin/redis-server 127.0.0.1:6379

 

启动redis:

/usr/local/redis/bin/redis-server  /usr/local/redis/etc/redis.conf

 

4.2.3.Redis配置测试

重启redis:

/etc/init.d/redis restart

 

进入redis-cli测试:

[[email protected] init.d]# /usr/local/redis/bin/redis-cli

127.0.0.1:6379> set foo bar

OK

127.0.0.1:6379> get foo

"bar"

 

新建redis.php 测试:

Vi /home/wwwroot/wmsp/redis.php

<?php

$redis = new redis();

$redis->connect(‘127.0.0.1‘, 6379);

$redis->auth(“666”);

$redis->set(‘redistest‘,‘redistest66666666666666666‘);

echo $redis->get(‘redistest‘);

?>

 

访问:http://192.168.0.202:10080/redis.php

‘redistest66666666666666666‘

 


















以上是关于Linux平台(Centos7)-lnmp一键式部署mysql,nginx,php,php-fpm服务的主要内容,如果未能解决你的问题,请参考以下文章

CentOS7下安装lnmp一键安装包

CentOS7一键编译安装LNMP环境

Centos7.5 lnmp+zabbix一键安装脚本

一键部署LNMP平台脚本

centos怎么搭建lnmp环境

Docker compose 一键部署LNMP平台