LNMP搭建
配置环境
系统:CentOS Linux release 7.6.2009 (Core)
nginx版本:nginx-1.12.2.tar
MySQL版本:mysql-5.7.37
php版本:php-5.3.28.tar
准备3台设备
设备1:192.168.217.11 mysql
设备2:192.168.217.12 nginx
设备3:192.168.217.13 php
设备3
PHP安装
安装依赖
[root@localhost ~]# yum -y install gd libxml2-devel libjpeg-devel libpng-devel
解压
[root@localhost ~]# tar -zxf php-5.3.28.tar.gz -C /usr/src/
[root@localhost ~]# cd /usr/src/php-5.3.28/
[root@localhost php-5.3.28]# cd /usr/src/php-5.3.28/
编译检查
[root@localhost php-5.3.28]# ./configure --prefix=/usr/local/php --with-gd --with-zlib --with-mysql=mysqlnd --with-config-file-path=/usr/local/php --enable-fpm --enable-mbstring --with-jpeg-dir=/usr/lib
编译安装
[root@localhost php-5.3.28]# make && make install
拷贝ini文件
[root@localhost php-5.3.28]# cp php.ini-development /usr/local/php/php.ini
[root@localhost php-5.3.28]# vim /usr/local/php/php.ini
226行
short_open_tag = On #修改等号后为On(支持后面脚本写为<? ?>格式)
784行
default_charset = "utf-8" #修改字符集
[root@localhost php-5.3.28]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
[root@localhost php-5.3.28]#vim /etc/init.d/php-fpm
# stop) force-quit) 模块之间 添加
status)
if [ ! -r $php_fpm_PID ] ; then
echo "php-fpm is stopped"
exit 0
fi
PID=`cat $php_fpm_PID`
if ps -p $PID | grep -q $PID; then
echo "php-fpm (pid $PID) is running..."
else
echo "php-fpm dead but pid file exists"
fi
;;
[root@localhost php-5.3.28]# chmod +x /etc/init.d/php-fpm
[root@localhost php-5.3.28]# chkconfig --add php-fpm
[root@localhost php-5.3.28]# cd /usr/local/php/etc/
[root@localhost etc]# cp php-fpm.conf.default php-fpm.conf
[root@localhost etc]# vim php-fpm.conf
25行去掉注释 pid = run/php-fpm.pid #开启php-fpm进程
217行添加 pm.max_children = 50 #子进程最大数
222行添加 pm.start_servers = 20 #启动是进程数
227行添加 pm.min_spare_servers = 5 #保证空闲进程最小值
232行添加 pm.max_spare_servers = 35 #保证空闲进程最大数
启动php
[root@localhost etc]# systemctl start php-fpm
[root@localhost etc]# systemctl status php-fpm
查看端口
[root@localhost etc]#netstat -anput | grep php-fpm
设备2
安装nginx
启动ngixn
[root@localhost nginx-1.12.2]# nginx
[root@localhost nginx-1.12.2]# systemctl status nginx
[root@localhost nginx-1.12.2]# systemctl start nginx
Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.
遇到以上问题 杀掉进程 或者检查配置文件
[root@localhost nginx-1.12.2]# killall -9 nginx
整合ngixn和php
[root@localhost nginx-1.12.2]# vim /usr/local/nginx/conf/nginx.conf
location ~ \.php$ { #65-71行取消此栏注释
root /www; #访问路径设置为根目录下www
fastcgi_pass 192.168.217.13:9000; #IP为PHP
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi_params; #修改fastcgi_conf
}
[root@localhost nginx-1.12.2]# nginx -s reload #加载配置文件
[root@localhost nginx-1.12.2]# killall -9 nginx
[root@localhost nginx-1.12.2]# nginx
设备3
[root@localhost php-5.3.28]# vim /usr/local/php/etc/php-rpm.conf
151行修改
listen = 192.168.217.13:9000 #php ip地址
重启php
[root@localhost etc]# systemctl restart php-fpm.service
创建共享目录
[root@localhost etc]# mkdir /www
给ngixn赋予权限权 (设备2)
[root@localhost www]# vim /etc/exports
/www 192.168.217.12/24(rw,sync,no_root_squash)
查看共享目录。并启动服务
[root@localhost www]# exportfs -rv
exporting 192.168.217.12/24:/www
[root@localhost www]# systemctl start rpcbind
[root@localhost www]# systemctl start nfs
在php的www的共享目录中创建index.php文件,内容可以自定义
[root@localhost www]# touch index.php
[root@localhost www]# vim index.php
<?php
phpinfo()
?>
重启PHP及查看状态
[root@localhost www]# systemctl restart php-fpm.service
[root@localhost www]# systemctl status php-fpm.service
查看防火墙
[root@localhost www]# firewall-cmd --state
设备2
新建网页路径
[root@localhost nginx-1.12.2]# mkdir /www
将PHP网页挂载 nginx /www
[root@localhost nginx-1.12.2]# mount -t nfs 192.168.217.13:/www /www
查看挂载情况
[root@localhost nginx-1.12.2]# df -h
关闭防火墙
[root@localhost nginx-1.12.2]# systemctl stop firewalld
访问
[root@localhost nginx-1.12.2]# curl 192.168.217.12
[root@localhost nginx-1.12.2]# curl 192.168.217.12/index.php
File not found.
(可在虚拟机火狐浏览器访问)
访问无此路径,解决方案: 第一种方案
https://blog.csdn.net/lilian129/article/details/107413034
设备1
安装mysql
安装包拖入系统
删除系统默认的包
[root@www ~]# rpm -e --nodeps mariadb-libs
安装依赖
[root@www ~]# yum install -y cmake gcc gcc-c++ openssl openssl-devel ncurses ncurses-devel bison bison-devel
安装
[root@www ~]# rpm -ivh mysql-community-common-5.7.37-1.el7.x86_64.rpm
[root@www ~]# rpm -ivh mysql-community-libs-5.7.37-1.el7.x86_64.rpm
[root@www ~]# rpm -ivh mysql-community-client-5.7.37-1.el7.x86_64.rpm
[root@www ~]# rpm -ivh mysql-community-server-5.7.37-1.el7.x86_64.rpm
启动
[root@www ~]# systemctl start mysqld
查看原始密码
[root@www ~]# cat /var/log/mysqld.log | grep password
2022-05-29T20:37:31.080832Z 1 [Note] A temporary password is generated for root@localhost: +,D)RiISb1wg
登录
[root@www ~]# mysql -uroot -p
Enter password:
修改密码
mysql> set password=password('1234.Asd');
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql 和 php 合并
授权
mysql> grant all on *.* to 'root'@'192.168.217.%' identified by '1234.Asd';
Query OK, 0 rows affected, 1 warning (0.00 sec)
刷新策略
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
关闭防火墙
[root@www ~]# systemctl stop firewalld
/目录 新建www
[root@www ~]# mkdir /www
挂载
[root@www ~]# mount -t nfs 192.168.217.13:/www /www
查看目录下文档
[root@www ~]# cat /www/index.php
<?php
phpinfo()
?>
[root@www ~]# df -h
设备3
修改网页内容
[root@localhost www]# vim /www/index.php
<?php
$host='192.168.217.11'; #ip地址为MySQL数据库地址
$user_name='root'; #MySQL授权账户名
$password='1'; #输入MySQL授权密码
$conn=mysql_connect($host,$user_name,$password);
if (!$conn)
{
die('数据库连接失败:'.mysql_error());
}
echo '数据库连接成功!';
if (mysql_close($conn))
{
echo '<br/>我是吴彦祖<br/>';
}
?>
设备2访问 (火狐浏览器)
curl 191.158.217.12/index.php
如果没有成功显示
vim /usr/local/php/php.ini
944行修改 extension=msql.so
971行修改 extension=php_mysql.dll
972行修改 extension=php_mysqli.dll