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
部署 成功信息:
说明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服务的主要内容,如果未能解决你的问题,请参考以下文章