linux系统的LNMP架构、MySQL、PHP安装讲义
发表于:2025-01-22 作者:千家信息网编辑
千家信息网最后更新 2025年01月22日,本文主要给大家介绍linux系统的LNMP架构、MySQL、PHP安装讲义,希望可以给大家补充和更新些知识,如有其它问题需要了解的可以持续在行业资讯里面关注我的更新文章的。LNMP架构介绍和LAMP唯
千家信息网最后更新 2025年01月22日linux系统的LNMP架构、MySQL、PHP安装讲义
本文主要给大家介绍linux系统的LNMP架构、MySQL、PHP安装讲义,希望可以给大家补充和更新些知识,如有其它问题需要了解的可以持续在行业资讯里面关注我的更新文章的。
LNMP架构介绍
和LAMP唯一不同的是,LNMP中的N指的是Nginx(类似于Apache的一种web服务软件)。目前这种环境的应用也非常多。Nginx设计的初衷是提供一种快速、高效、多并发的Web服务软件。在静态页面的处理上,Nginx较Apache更胜一筹,但在动态页面的处理上,Nginx并不比Apache有优势。但是目前还是有很多爱好者对Nginx比较热衷。随着Nginx技术的不断成熟,它在Web服务软件领域的地位也会越来越高。
并且php是作为一个独立服务存在的,这个服务叫做php-fpm。Nginx直接处理静态请求,动态请求会转发给php-fpm。
MySQL安装
1. 删除之前安装的mysql
[root@gary-tao ~]# ps aux |grep mysql //查看服务是否启动root 2233 0.0 0.0 112680 972 pts/0 R+ 19:16 0:00 grep --color=auto mysql[root@gary-tao ~]# rm -rf /usr/local/mysql [root@gary-tao ~]# rm -rf /etc/init.d/mysqld
2.安装mysql过程
[root@gary-tao ~]# cd /usr/local/src/[root@gary-tao ~]# wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz [root@gary-tao src]# tar zxvf mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz[root@gary-tao src]# mv mysql-5.6.35-linux-glibc2.5-x86_64 /usr/local/mysql[root@gary-tao src]# cd /usr/local/mysql/[root@gary-tao mysql]# lsbin COPYING data docs include lib man mysql-test README scripts share sql-bench support-files[root@gary-tao mysql]# ls /data/mariadb mydata mysql wwwroot[root@gary-tao mysql]# id mysqluid=1000(mysql) gid=1000(mysql) 组=1000(mysql)[root@gary-tao mysql]# rm -rf /data/mysql/* //由于之前创建个,删除[root@gary-tao mysql]# useradd mysql[root@gary-tao mysql]# mkdir /data/[root@gary-tao mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql[root@gary-tao mysql]# echo $?0[root@gary-tao mysql]# cp support-files/my-default.cnf /etc/my.cnf [root@gary-tao mysql]# vim /etc/my.cnf定义如下:datadir=/data/mysqlsocket=/tmp/mysql.sock[root@gary-tao mysql]# cp support-files/mysql.server /etc/init.d/mysqld[root@gary-tao mysql]# vim /etc/init.d/mysqld定义如下:basedir=/usr/local/mysqldatadir=/data/mysql[root@gary-tao mysql]# /etc/init.d/mysqld start //启动mysqlStarting MySQL.Logging to '/data/mysql/gary-tao.err'.. SUCCESS! [root@gary-tao mysql]# ps aux |grep mysql //查看服务是否启动root 2317 0.1 0.1 113268 1592 pts/0 S 19:40 0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/gary-tao.pidmysql 2452 4.1 45.1 973060 451828 pts/0 Sl 19:40 0:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/mysql/gary-tao.err --pid-file=/data/mysql/gary-tao.pid --socket=/tmp/mysql.sockroot 2480 0.0 0.0 112680 976 pts/0 R+ 19:41 0:00 grep --color=auto mysql[root@gary-tao mysql]# chkconfig --add mysqld //把启动脚本加入系统服务[root@gary-tao mysql]# chkconfig mysqld on //设定开机启动mysql[root@gary-tao mysql]# service mysqld start //启动服务Starting MySQL SUCCESS!
PHP安装
1. 因为之前安装过php,这次重新安装的话直接在源码包目录下执行命令:make clean,删除之前编译过的文件内容,回到之前的解压的状态。Nginx的PHP安装和上一章的PHP安装是有区别的,因为Nginx中的PHP是以fastcgi的方式给合Nginx的,可以理解为Nginx代理了PHP的fastcgi,而httpd是把PHP作为自己的模块来调用的。
[root@gary-tao ~]# cd /usr/local/src/[root@gary-tao src]# lsapr-1.6.3 apr-util-1.6.1.tar.gz mariadb-10.2.6-linux-glibc_214-x86_64.tar.gz php-5.6.30.tar.gz phpredis-developapr-1.6.3.tar.gz httpd-2.4.29 mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz php-7.1.6 phpredis-develop.zipapr-util-1.6.1 httpd-2.4.29.tar.gz php-5.6.30 php-7.1.6.tar.bz2[root@gary-tao src]# cd php-5.6.30[root@gary-tao php-5.6.30]# lsacinclude.m4 configure.in libs makerpm php.ini-production README.STREAMS stamp-h.inaclocal.m4 CREDITS libtool meta_ccld README.EXT_SKEL README.SUBMITTING_PATCH stub.cbuild ext LICENSE missing README.GIT-RULES README.TESTING testsbuildconf EXTENSIONS ltmain.sh mkinstalldirs README.input_filter README.TESTING2 travisbuildconf.bat footer main modules README.MAILINGLIST_RULES README.UNIX-BUILD-SYSTEM TSRMCODING_STANDARDS generated_lists makedist netware README.md README.WIN32-BUILD-SYSTEM UPGRADINGconfig.guess genfiles Makefile NEWS README.namespaces run-tests.php UPGRADING.INTERNALSconfig.log header Makefile.frag pear README.NEW-OUTPUT-API sapi vcscleanconfig.nice include Makefile.fragments php5.spec README.PARAMETER_PARSING_API scripts win32config.status INSTALL Makefile.gcov php5.spec.in README.REDIST.BINS server-tests-config.php Zendconfig.sub install-sh Makefile.global php.gif README.RELEASE_PROCESS server-tests.phpconfigure libphp5.la Makefile.objects php.ini-development README.SELF-CONTAINED-EXTENSIONS snapshot[root@gary-tao php-5.6.30]# make cleanfind . -name \*.gcno -o -name \*.gcda | xargs rm -ffind . -name \*.lo -o -name \*.o | xargs rm -ffind . -name \*.la -o -name \*.a | xargs rm -f find . -name \*.so | xargs rm -ffind . -name .libs -a -type d|xargs rm -rfrm -f libphp5.la sapi/cli/php sapi/cgi/php-cgi libphp5.la modules/* libs/*
备注,如果是第一次安装的话按如下操作即可:- 安装到指定目录 cd /usr/local/src/
- 下载源码包 wget http://cn2.php.net/distributions/php-5.6.30.tar.gz
- 解压源码包 tar zxf php-5.6.30.tar.gz
该账号用来运行php-fpm服务的,在LNMP环境中,PHP以一个服务php-fpm的形式出现,独立存在于Linux系统中,方便管理。
[root@gary-tao php-5.6.30]# useradd -s /sbin/nologin php-fpm
3.安装PHP[root@gary-tao php-5.6.30]# ./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-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
编译参数和跟之前的文章不同,这里多了一个--enable-fpm,如果不加该参数,则不会有php-fpm执行文件生成,更不能启动php-fpm服务。
报错:解决办法:
yum install -y libcurl-devel
注意:如果是第一次安装PHP,会有很多依赖包需要安装,这时你看错误提示,缺少什么包就安装什么包。4.编译PHP[root@gary-tao php-5.6.30]# make[root@gary-tao php-5.6.30]# make clean && make
报错如下图:解决办法:
#vim Makefile //在大概105行,-lcrypt后面加"-lpthread"
解决办法:
#make clean && make
5.安装PHP[root@gary-tao php-5.6.30]# make install
6.修改配置文件:[root@gary-tao php-5.6.30]# ls /usr/local/php-fpm/etc/pear.conf php-fpm.conf.default [root@gary-tao php-5.6.30]# cp php.ini-production /usr/local/php-fpm/etc/php.ini //拷贝配置文件 (production是生成环境下用的,development是开发环境下用的)[root@gary-tao php-5.6.30]# ls /usr/local/php-fpm/etc/pear.conf php-fpm.conf.default php.ini[root@gary-tao etc]# vim /usr/local/php-fpm/etc/php-fpm.conf添加如下内容:[global] //定义全局参数 pid = /usr/local/php-fpm/var/run/php-fpm.piderror_log = /usr/local/php-fpm/var/log/php-fpm.log[www] //一个模块的名字listen = /tmp/php-fcgi.sock //监听地址listen.mode = 666 //监听的是sock时这行才生效,用来定义sock文件的权限是666user = php-fpm //定义服务的用户group = php-fpm //定义服务的用户组pm = dynamicpm.max_children = 50pm.start_servers = 20pm.min_spare_servers = 5pm.max_spare_servers = 35pm.max_requests = 500rlimit_files = 1024
7.检测配置[root@gary-tao etc]# /usr/local/php-fpm/sbin/php-fpm -t //报以下是正常的。[02-Jan-2018 20:02:02] NOTICE: configuration file /usr/local/php-fpm/etc/php-fpm.conf test is successful
8.拷贝启动脚本[root@gary-tao etc]# cd /usr/local/src/php-php-5.6.30/ php-5.6.30.tar.gz php-7.1.6/ php-7.1.6.tar.bz2 [root@gary-tao etc]# cd /usr/local/src/php-5.6.30/ //进入到源码包目录[root@gary-tao php-5.6.30]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm //拷贝启动脚本到指定目录下
9.修改启动脚本权限及添加服务到开机启动[root@gary-tao php-5.6.30]# chmod 755 /etc/init.d/php-fpm //更改权限[root@gary-tao php-5.6.30]# chkconfig --add php-fpm //[root@gary-tao php-5.6.30]# chkconfig php-fpm on //设置开机启动[root@gary-tao etc]# service php-fpm start //启动php命令Starting php-fpm done[root@gary-tao etc]# ps aux |grep php-fpm //查看进程root 58306 0.1 0.4 123560 4968 ? Ss 20:38 0:00 php-fpm: master process (/usr/local/php-fpm/etc/php-fpm.conf)php-fpm 58307 0.0 0.4 123560 4704 ? S 20:38 0:00 php-fpm: pool wwwphp-fpm 58308 0.0 0.4 123560 4704 ? S 20:38 0:00 php-fpm: pool wwwphp-fpm 58309 0.0 0.4 123560 4704 ? S 20:38 0:00 php-fpm: pool wwwphp-fpm 58310 0.0 0.4 123560 4704 ? S 20:38 0:00 php-fpm: pool wwwphp-fpm 58311 0.0 0.4 123560 4708 ? S 20:38 0:00 php-fpm: pool wwwphp-fpm 58312 0.0 0.4 123560 4708 ? S 20:38 0:00 php-fpm: pool wwwphp-fpm 58313 0.0 0.4 123560 4708 ? S 20:38 0:00 php-fpm: pool wwwphp-fpm 58314 0.0 0.4 123560 4708 ? S 20:38 0:00 php-fpm: pool wwwphp-fpm 58315 0.0 0.4 123560 4708 ? S 20:38 0:00 php-fpm: pool wwwphp-fpm 58316 0.0 0.4 123560 4708 ? S 20:38 0:00 php-fpm: pool wwwphp-fpm 58317 0.0 0.4 123560 4708 ? S 20:38 0:00 php-fpm: pool wwwphp-fpm 58318 0.0 0.4 123560 4708 ? S 20:38 0:00 php-fpm: pool wwwphp-fpm 58319 0.0 0.4 123560 4712 ? S 20:38 0:00 php-fpm: pool wwwphp-fpm 58320 0.0 0.4 123560 4712 ? S 20:38 0:00 php-fpm: pool wwwphp-fpm 58321 0.0 0.4 123560 4712 ? S 20:38 0:00 php-fpm: pool wwwphp-fpm 58322 0.0 0.4 123560 4712 ? S 20:38 0:00 php-fpm: pool wwwphp-fpm 58323 0.0 0.4 123560 4712 ? S 20:38 0:00 php-fpm: pool wwwphp-fpm 58324 0.0 0.4 123560 4712 ? S 20:38 0:00 php-fpm: pool wwwphp-fpm 58325 0.0 0.4 123560 4712 ? S 20:38 0:00 php-fpm: pool wwwphp-fpm 58326 0.0 0.4 123560 4712 ? S 20:38 0:00 php-fpm: pool www
root 58329 0.0 0.0 112680 976 pts/0 R+ 20:38 0:00 grep --color=auto php-fpm
看了以上关于linux系统的LNMP架构、MySQL、PHP安装讲义,希望能给大家在实际运用中带来一定的帮助。本文由于篇幅有限,难免会有不足和需要补充的地方,如有需要更加专业的解答,可在官网联系我们的24小时售前售后,随时帮您解答问题的。
服务
文件
系统
源码
环境
目录
脚本
架构
办法
参数
拷贝
权限
软件
处理
编译
配置
讲义
不同
内容
动态
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发中心 农行
3011服务器
服务器状态表
智能巡检软件开发价钱
沈阳 软件开发有哪些学院
服务器不自动进系统需要按f1
华为网络技术电子版百度云
绝地求生比赛服务器
普陀区常规软件开发技术指导
把公司数据库删了 QQ群
如何加强网络安全监管
技校软件开发视频
邮政软件开发与大数据维护
辽宁电力应急软件开发检测中心
量子通道期货软件开发公司
能否用网络技术获取个人信息
sq2000数据库不启动
庐阳发布网络安全周
服务器后端语言
高级信息网络安全
数据库设计理念
2021服务器cpu排行榜
常熟品牌网络技术咨询热线
上海存货管理软件开发定制
数据库是面对
传统数据库的区别
共享店铺软件开发
闵行区个人软件开发包括什么
大华 网络安全
doi数据库