当前位置: 首页 > news >正文

麒麟操作系统服务架构保姆级教程(六)部署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
<?phpphpinfo();?>
eof
curl http://localhost/index.php 
#浏览器访问测试
http://127.0.0.1/index.php

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


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


http://www.mrgr.cn/news/81707.html

相关文章:

  • 确保大语言模型(LLM)安全:保护数据隐私与防止滥用
  • MFC案例:图片文件转图标(ico)格式
  • 设计一个监控摄像头物联网IOT(webRTC、音视频、文件存储)
  • 【Leetcode 每日一题】3159. 查询数组中元素的出现位置
  • 在git commit之前让其自动执行一次git pull命令
  • 【源码】Sharding-JDBC源码分析之SQL中影子库ShadowSQLRouter路由的原理
  • Prometheus 专栏 —— Prometheus入门介绍
  • 影视仓最新接口+内置本包方法的研究(2024.12.27)
  • MacOS安装Xcode(非App Store)
  • STM32F103RCT6学习之二:GPIO开发
  • 使用 IDE生成 Java Doc
  • 使用 Three.js 创建圣诞树场景
  • Linux 搭建 nginx+keepalived (主备+双主模式) 高可用 | Nginx反向代理
  • Layui 新增销售单 其中一种 编写逻辑和打开方式
  • linux 中文输入法设置的宏观思路 (****)
  • 数据处理之数据规约
  • 文本数据处理
  • 了解智能运维
  • #渗透测试#漏洞挖掘#红蓝攻防#漏洞挖掘#未授权漏洞-Es未授权漏洞
  • leetcode 27. 移除元素
  • 【和春笋一起学C++】文本输入与读取
  • C# 修改项目类型 应用程序程序改类库
  • 【CSS in Depth 2 精译_094】16.2:CSS 变换在动效中的应用(下)——导航菜单的文本标签“飞入”特效与交错渲染效果的实现
  • CMake技术细节:解决未定义,提供参数
  • 走进人工智能体
  • 【Go】context标准库