麒麟操作系统服务架构保姆级教程(六)部署PHP环境

 如果你想拥有你从未拥有过的东西,那么你必须去做你从未做过的事情

        本来小屁打算直接写LNMP架构的(LB负载均衡+Nginx+mysql+PHP),但是发现之前用过的包是红帽的吗,在麒麟上没法直接部署PHP,所以小屁用两天的时间整理了一篇二进制部署PHP服务的技术文档,那话不多说,咱们直接开干~~~~

目录

一、安装依赖环境

二、安装oniguruma-6.9.4

三、下载安装libmcrypt

四、编译安装php

五、修改配置

六、修改Nginx

七、测试


💬欢迎交流:在学习过程中如果你有任何疑问或想法,欢迎在评论区留言,我们可以共同探讨学习的内容。你的支持是我持续创作的动力!

👍点赞、收藏与推荐:如果你觉得这篇文章对你有所帮助,请不要忘记点赞、收藏,并分享给更多的小伙伴!你们的鼓励是我不断进步的源泉!

🚀推广给更多人:如果你认为这篇文章对你有帮助,欢迎分享给更多对Linux感兴趣的朋友,让我们一起进步,共同提升!

一、安装依赖环境

[root@web01 ~]# yum -y install libtool sqlite-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel readline readline-devel libxslt libxslt-devel

二、安装oniguruma-6.9.4

[root@web01 ~]#wget https://github.com/kkos/oniguruma/archive/v6.9.4.tar.gz -O oniguruma-6.9.4.tar.gz
[root@web01 ~]#tar -xvf  oniguruma-6.9.4.tar.gz
[root@web01 ~]#cd oniguruma-6.9.4/
[root@web01 oniguruma-6.9.4]#./autogen.sh && ./configure --prefix=/usr --libdir=/lib64
[root@web01 oniguruma-6.9.4]#make&&make instal

 

三、下载安装libmcrypt

[root@web01 ~]# wget https://sourceforge.net/projects/mcrypt/files/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
[root@web01 ~]#tar xf libmcrypt-2.5.8.tar.gz
[root@web01 ~]#
[root@web01 ~]#cd libmcrypt-2.5.8
[root@web01 libmcrypt-2.5.8]#./configure --prefix=/usr/local/libmcrypt
发现报错:
原因是缺少c语言的编译环境
[root@web01 libmcrypt-2.5.8]#yum install gcc-c++ -y
安装即可
​
重新配置
[root@web01 libmcrypt-2.5.8]#./configure --prefix=/usr/local/libmcrypt
[root@web01 libmcrypt-2.5.8]#make && make install

  

四、编译安装php

[root@web01 ~]# tar -xvf php-7.4.33.tar.gz 
[root@web01 ~]#cd php-7.4.33/
#编辑PHP的配置项
[root@web01 php-7.4.33]#./configure --prefix=/usr/local/php \
--with-config-file-path=/etc \
--enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx \
--enable-inline-optimization --disable-debug --disable-rpath \
--enable-shared --enable-soap  --with-xmlrpc \
--with-openssl --with-mhash  --with-sqlite3 \
--with-zlib --enable-bcmath --with-iconv --with-bz2 \
--enable-calendar --with-curl --with-cdb --enable-dom \
--enable-exif --enable-fileinfo --enable-filter \
--enable-ftp  --with-openssl-dir --with-zlib-dir \
--enable-gd-jis-conv --with-gettext --with-gmp --with-mhash \
--enable-json --enable-mbstring --enable-mbregex  \
--enable-pdo --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd \
--with-zlib-dir --with-pdo-sqlite --with-readline --enable-session \
--enable-shmop --enable-simplexml --enable-sockets --enable-sysvmsg \
--enable-sysvsem --enable-sysvshm --with-xsl  \
--enable-mysqlnd-compression-support --with-pear \
--enable-opcache --disable-fileinfo
#编译安装
[root@web01 php-7.4.33]#make -j 3 && make install

五、修改配置

#添加环境变量
[root@web01 php-7.4.33]#echo "export PATH=$PATH:/usr/local/php/bin" >> /etc/profile
[root@web01 php-7.4.33]#source /etc/profile
​
#准备配置文件
[root@web01 php-7.4.33]#cp php.ini-production /usr/local/php/etc/php.ini
[root@web01 php-7.4.33]#cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
[root@web01 php-7.4.33]#cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
[root@web01 php-7.4.33]#ln -s /usr/local/php/etc/ /etc/php
​
#修改 /usr/local/php/etc/php-fpm.conf 运行用户和组改为nginx
[root@web01 php-7.4.33]#chown nginx.nginx /usr/local/php/etc/php-fpm.conf
[root@web01 php-7.4.33]#chown -R nginx.nginx /etc/php
​
#禁用PHP功能
[root@web01 php-7.4.33]#sed -i "s#disable_functions =#disable_functions =\"passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd,wnam,posix_getpwuid, posix_getrlimit,posix_getsid,posix_getuid,posix_isatty,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname\"#" /etc/php/php.ini 
​
#支持mysql
[root@web01 php-7.4.33]#sed -i "s#pdo_mysql.default_socket=#pdo_mysql.default_socket=/var/lib/mysql/mysql.sock#" /etc/php/php.ini
[root@web01 php-7.4.33]#sed -i "s#mysqli.default_socket =#mysqli.default_socket =/var/lib/mysql/mysql.sock#" /etc/php/php.ini 
​
#设置开机自启,并启动
[root@web01 php-7.4.33]#cp /root/php-7.4.33/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
[root@web01 php-7.4.33]#chmod 755 /etc/init.d/php-fpm
[root@web01 php-7.4.33]#chkconfig php-fpm on
[root@web01 php-7.4.33]#systemctl start php-fpm
​
#查看PHP端口是否启动成功(默认9000)
root@web01 php-7.4.33]#netstat -tnulp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1258/sshd: /usr/sbi 
tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      144397/php-fpm: mas 
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      7314/nginx: master  
tcp6       0      0 :::22                   :::*                    LISTEN      1258/sshd: /usr/sbi 
udp        0      0 127.0.0.1:323           0.0.0.0:*                           740/chronyd         
udp6       0      0 ::1:323                 :::*                                740/chronyd         
[root@web01 php-7.4.33]#

六、修改Nginx

#修改nginx
[root@web01 nginx]#cp /etc/nginx/conf/nginx.conf{,.bak}
[root@web01 nginx]#vim /etc/nginx/conf/nginx.conf
...
        location / {
            root   html;
            index  index.html index.htm index.php; #添加 index.php
        }
...
        location ~ \.php$ {
            root           /php/;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            #将/scripts$fastcgi_script_name修改为$document_root$fastcgi_script_name。
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
...
#检查配置
[root@web01 nginx]#nginx -t 
[root@web01 nginx]#nginx -s reload  

七、测试

#测试
cat >  /php/index.php <<eof
<?php
 phpinfo();
 ?>
eof
curl http://localhost/index.php 
#浏览器访问测试
http://127.0.0.1/index.php

本来小屁在web界面也可访问的,但是应该是哪里配置有问题,只能curl到内容,下次直接搭建LNMP架构~~~~


想成为大佬,就要从小白开始,从0开始,一点一点的积累,慢慢成长,明天你就是大佬!!想学习更多麒麟操作系统的知识,关注小屁,让你成为运维老鸟~~~~~ 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值