【检查nginx和mysql是否启动】
[root@web02 ~]# netstat -tlunp|egrep '(3306|80)'
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 9767/nginx: master
tcp6 0 0 :::3306 :::* LISTEN 3912/mysqld
【安装PHP依赖包】
yum -y install zlib-devel libxml2-devel bzip2-devel libmcrypt libmcrypt-devel mcrypt mhash mhash-devel \
libjpeg-turbo-devel gd-devel libcurl-devel libxslt-devel curl-devel libjpeg-devel libpng libpng-devel \
freetype freetype-devel
【缺少一个包-这个不是必须安装的包】
libiconv-devel这个包默认yum没有
[root@web02 ~]# wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.16.tar.gz
###进入到解压后的目录编译安装一下
./configure --prefix=/application/libiconv&&make&&make install
【安装PHP】
###目前只有sohu有PHP安装包
http://mirrors.sohu.com/php/
###版本的选择
看开发用什么版本开发的,你就用什么版本的软件,这里我们用7.3
wget http://mirrors.sohu.com/php/php-7.3.5.tar.gz
tar xzvf php-7.3.5.tar.gz
【编译安装】
./configure \
--prefix=/application/php-7.3.5 \
--enable-mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-iconv-dir=/application/libiconv \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir=/usr \
--enable-xml \
--disable-rpath \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--with-curl \
--enable-mbregex \
--enable-fpm \
--enable-mbstring \
--with-gd \
--with-openssl \
--with-mhash \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-soap \
--enable-short-tags \
--enable-static \
--with-xsl \
--with-fpm-user=www \
--with-fpm-group=www \
--enable-ftp \
--enable-opcache=no
###查看是否编译成功
[root@web02 /server/tools/php-7.3.5]# echo $?
0
###继续
make&&make install
###以下结果就没问题了
Wrote PEAR system config file at: /application/php-7.3/etc/pear.conf
You may want to add: /application/php-7.3/lib/php to your php.ini include_path
/server/tools/php-7.3.5/build/shtool install -c ext/phar/phar.phar /application/php-7.3/bin
ln -s -f phar.phar /application/php-7.3/bin/phar
Installing PDO headers: /application/php-7.3/include/php/ext/pdo/
【编辑配置文件php.ini】
[root@web02 ~]# ls /server/tools/php-7.3.5/*ini*
php.ini-development php.ini-production
实验环境 生产环境
区别就是生产环境基本错误的debug都打开了,而生产环境都关闭错误提示了
这里我们学习用实验环境配置文件
###复制配置文件到真实目录
[root@web02 ~]# cp /server/tools/php-7.3.5/php.ini-development /application/php/lib/php.ini
【配置PHP的fpm】
###进入软件真实目录
[root@web02 /application/php]# cd /application/php/etc/
###复制一份配置文件,改掉后缀
[root@web02 /application/php/etc]# cp php-fpm.conf.default php-fpm.conf
[root@web02 /application/php/etc]# cp php-fpm.d/www.conf.default php-fpm.d/www.conf
###查看
[root@web02 /application/php/etc]# ls
php-fpm.conf php-fpm.conf.default php-fpm.d
[root@web02 /application/php/etc]# ls php-fpm.d/
www.conf www.conf.default
【启动PHP服务】
[root@web02 /application]# /application/php-7.3.5/sbin/php-fpm
[27-Dec-2020 17:20:23] ERROR: failed to open configuration file
'/application/php-7.3/etc/php-fpm.conf': No such file or directory (2)
###这个错误估计是我编译的时候路径给错了,临时解决办法,你不是非要用php-7.3这个路径吗?
[root@web02 /application]# ln -s php-7.3.5/ php-7.3 <==直接给你做个软连接即可解决
再次
[root@web02 /application]# /application/php-7.3.5/sbin/php-fpm
###查看服务
[root@web02 /application]# netstat -tlunp|grep php
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 1820/php-fpm: maste
【配置nginx.conf】
【测试查看php配置信息】
[root@web02 /application/nginx]# cat conf/extra/luoqi1.conf
server {
listen 80;
server_name www.luoqi1.com;
location ~* \.php$ {
root /application/nginx/html/luoqi1/;
fastcgi_pass 127.0.0.1:9000;
include fastcgi.conf;
}
}
[root@web02 /application/nginx]# cat html/luoqi1/luoqi1_info.php
<?php phpinfo(); ?>
【测试查看myqsl配置信息】
server {
listen 80;
server_name www.luoqi2.com;
location ~* \.php$ {
root /application/nginx/html/luoqi2/;
fastcgi_pass 127.0.0.1:9000;
include fastcgi.conf;
}
}
[root@web02 /application/nginx]# cat html/luoqi2/luoqi2_mysql.php
<?php
//$link_id=mysqli_connect('主机名','用户','密码');
$link_id=mysqli_connect('localhost','root','302331') or mysql_error();
if($link_id){
echo "mysql successful by luoqi.\n";
}
else{
echo mysql_error();
}
?>
【windows中hosts文件配置】
10.0.0.8 www.luoqi1.com www.luoqi2.com
【浏览器访问】
www.luoqi1.com/luoqi1_info.php 《==查看上面配置的php信息
www.luqoi2.com/luoqi2_mysql.php 《==查看mysql配置是否正确
【用linux测试-linux上的php命令】
###这不可以不做,因为php直接解析网页源文件,不解析网址
[root@web02 /application/nginx]# vim /etc/hosts
10.0.0.8 www.luoqi1.com www.luoqi2.com
###不能用curl命令,卡死,curl不支持解析php
[root@web02 /application/nginx]# curl http://www.luoqi2.com/luoqi2_mysql.php
###需要用php命令,注意是对php源文件解析,而不是通过访问网站解析
[root@web02 /application/nginx]# /application/php-7.3/bin/php \
/application/nginx/html/luoqi2/luoqi2_mysql.php
mysql successful by luoqi. <==提示这个就对了
--------------到此LNMP全部成功-------------------------------------------------------
【LNMP详细部署博文】
https://blog.csdn.net/nimo97/article/details/80536034