扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
下文内容主要给大家带来LNMP架构、工作模式及MySQL、PHP安装介绍,所讲到的知识,与书籍略有不同,都是创新互联专业技术人员在与用户接触过程中,总结出来的,具有一定的经验分享价值,希望给广大读者带来帮助。
创新新互联,凭借十多年的成都做网站、网站制作经验,本着真心·诚心服务的企业理念服务于成都中小企业设计网站有上1000家案例。做网站建设,选创新互联。LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站云服务器架构。Nginx中的PHP是以fastcgi的方式结合Nginx的,可以理解为Nginx代理了PHP的fastcgi。
下载并解压源码包
下载包:
[root@localhost src]# wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36.tar.gz
解压:
[root@localhost src]# tar -zxv -f mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz
移动解压后的文件并修改文件名:
将解压出来的mysql-5.6.35-linux-glibc2.5-x86_64 文件移动到/usr/local/目录下,并改名为mysql。
[root@localhost src]# mv mysql-5.6.35-linux-glibc2.5-x86_64 /usr/local/mysql
切换到/usr/lcoal/mysql/目录
[root@localhost src]# cd /usr/local/mysql/
创建账号和/data/目录:
[root@localhost mysql]# useradd mysql
[root@localhost mysql]# mkdir /data/
配置mysql
[root@localhost mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
#如果在安装过程中出现两个ok,则安装成功。或者使用命令echo $? 命令,输出结果为0则安装成功。结果为1则安装失败。
拷贝配置文件
配置文件的目录为:/usr/local/mysql/support-files/my-default.cnf
[root@localhost mysql]# cp support-files/my-default.cnf /etc/my.cnf
也不可以拷贝配置文件,直接使用现成的/etc/my.cnf 文件,编辑此文件,修改如下内容:
datadir=/data/mysql
socket=/tmp/mysql.sock
注释掉这三行:
启动脚本
启动脚本目录为:/usr/local/mysql/support-files/mysql.server
将启动脚本拷贝到/etc/init.d/目录下,改名为:mysqld
[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld
编辑/etc/init.d/mysqld文件:
basedir=/usr/local/mysql
datadir=/data/mysql
(46,47行)
权限变更:
将文件权限改为755(默认为755,不需要改)
chmod 755 /etc/init.d/mysqld
设置开机启动,将该服务加到系统服务列表中:
[root@localhost mysql]# chkconfig --add mysqld
[root@localhost mysql]# chkconfig --list
注意:该输出结果只显示 SysV 服务,并不包含原生 systemd 服务。SysV 配置数据可能被原生 systemd 配置覆盖。
如果您想列出 systemd 服务,请执行 'systemctl list-unit-files'。
欲查看对特定 target 启用的服务请执行
'systemctl list-dependencies [target]'。
mysqld 0:关 1:关 2:开 3:开 4:开 5:开 6:关
还可以直接用命令启动:
[root@localhost mysql]# service mysqld start
Starting MySQL.Logging to '/data/mysql/localhost.localdomain.err'.
. SUCCESS! #启动成功
可以使用命令:
ps aux | grep mysqld 查看进程
netstat -lntp 查看监听端口
停止mysqld服务
service mysqld stop
命令行的方式启动(&在后台启动):
/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql --datadir=/data/mysql &
如果之前安装过PHP,需要清除其原有的配置:
[root@localhost src]# cd php-5.6.30
[root@localhost src]# make clean
下载并解压PHP
下载包:
[root@localhost php]# wget http://cn2.php.net/distributions/php-7.1.6.tar.bz2
解压包:
[root@localhost php]# tar -jxv -f php-7.1.6.tar.bz2
将包移动到/usr/local/下并重命名为php
[root@localhost php]# mv php-7.1.6 /usr/local/php
配置
[root@localhost src]# cd /usr/local/php/
[root@localhost php]# ./configure --prefix=/usr/local/php-fpm --with-config-file-path=/usr/local/php-fpm/etc --enable-fpm --with-fpm-user=php-fpm --with-fpm-group=php-fpm --with-pdo-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql --with-mysql-sock=/tmp/mysql.sock --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-ftp --enable-mbstring --enable-exif --with-pear --with-curl --with-openssl
配置过程中可能会需要安装其它包,详见php安装。
编译和安装
[root@localhost php]# make
......
[root@localhost php]# echo $?
0
[root@localhost php]# make install
......
[root@localhost php]# echo $?
0
查看php-fpm加载了哪些模块
[root@localhost php]# /usr/local/php-fpm/sbin/php-fpm -m
检查php-fpm配置文件
[root@localhost php]# /usr/local/php-fpm/sbin/php-fpm -t
创建php-fpm用户
[root@localhost php]# useradd -s /sbin/nologin php-fpm
该账号用来运行php-fpm服务,因为在LNMP环境中,PHP是以一种服务的形式独立存在的。
将php配置文件添加到php-fpm配置文件目录
[root@localhost php]# cp php.ini-production /usr/local/php-fpm/etc/php.ini
配置文件
切换到/usr/lcoal/php-fpm/etc 目录下:
[root@localhost php]# cd /usr/local/php-fpm/etc
添加php-fpm.conf文件,并加入如下内容:
[root@localhost etc]# vim php-fpm.conf
[global]
#定义全局参数
pid = /usr/local/php-fpm/var/run/php-fpm.pid
error_log = /usr/local/php-fpm/var/log/php-fpm.log
[www]
listen = /tmp/php-fcgi.sock
#监听地址,也可以写:listen = 127.0.0.1::9000,本地监听,也可以监听其他IP:port
#此处格式会影响配置Nginx和PHP结合时Nginx寻址PHP的路径
listen.mode = 666
#当监听的为socket文件时该部分才生效,用于指定.sock文件的权限
user = php-fpm
group = php-fpm
#定义php-fpm服务的用户
pm = dynamic
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
rlimit_files = 1024
#以上部分为进程相关信息
检测配置文档是否有错误:
[root@localhost etc]# /usr/local/php-fpm/sbin/php-fpm -t
[02-Jan-2018 23:18:03] NOTICE: configuration file /usr/local/php-fpm/etc/php-fpm.conf test is successful
配置启动脚本
切换到/usr/local/php/目录下
[root@localhost etc]# cd /usr/local/php/
将启动脚本添加到系统配置文件中:
[root@localhost php]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
更改文件权限:
[root@localhost php]# chmod 755 /etc/init.d/php-fpm
设置开机启动
[root@localhost php]# chkconfig --add php-fpm
[root@localhost php]# chkconfig php-fpm on
启动php-fpm服务:
[root@localhost php]# service php-fpm start
Starting php-fpm done
查看服务是否启动成功:
[root@localhost etc]# ps aux | grep php
Nginx("engine x")是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、新浪、网易、腾讯、 淘宝等。
web服务器、反向代理、负载均衡
对于以上关于LNMP架构、工作模式及MySQL、PHP安装介绍,如果大家还有更多需要了解的可以持续关注我们创新互联的行业推新,如需获取专业解答,可在官网联系售前售后的,希望该文章可给大家带来一定的知识更新。
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流