LNMP搭建

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值