php 源码 rpath_Linux中yum安装Nginx和编译安装PHP

2da7ea1afe46ab4609a3cfc7f1bfeea2.png

bug没有爱

安装Nginx

1.安装软件包epel-release并更新,它会帮我们自动配置好yum的软件仓库。

yum -y install epel-releaseyum update

2.安装nginx,一般的项目不建议wget下载包编译安装,因为yum安装的服务器貌似有额外整合日志压缩,清理之类的定时任务,还有一些安全设定之类的。

yum -y install nginx

至此nginx就已经安装好了,为了验证是否已经安装成功,我们可以使用如下方法测试。

curl 127.0.0.1

安装成功会输出nginx的默认欢迎页,但此时在外部用ip地址访问会发现访问不了,是因为80端口未开放的原因,只需要开放80端口即可。

3.如果是云服务器,可以直接去控制台配置安全策略放开80端口,如果是虚拟机可通过以下命令实现。

firewall-cmd --zone=public --add-port=80/tcp --permanent
  • --zone 作用域
  • --add-port=80/tcp 端口/通讯协议
  • --permanent 永久生效,否则重启后失效

设置好后重启防火墙

systemctl restart firewalld.service

到这里nginx就算是安装完成了。

80afc100938d1db6ccbadc23f2a463b7.png

编译安装PHP

1.为了后面能正常进行,首先我们先安装一些会用到的依赖组件。

yum -y install wget vim pcre pcre-devel openssl openssl-devel libicu-devel gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel ncurses ncurses-devel curl curl-devel krb5-devel libidn libidn-devel openldap openldap-devel nss_ldap jemalloc-devel cmake boost-devel bison automake libevent libevent-devel gd gd-devel libtool* libmcrypt libmcrypt-devel mcrypt mhash libxslt libxslt-devel readline readline-devel gmp gmp-devel libcurl libcurl-devel openjpeg-devel

安装好了之后,需要去官网下载PHP的安装包,版本根据自己需要进行选择,本人选择的版本: php-7.2.23.tar.gz

可以直接在服务器上wget获取,也可以先下载到本地再用lrzsz提供的rz上传到服务器。(需要远程链接的客户端支持才能使用rz)

2.接下来解压我们的安装包

tar -xvf php-7.2.23.tar.gz -C /usr/local/mydir/

后面的路径是我指定的解压路径,也可以不指定,直接解压到当前目录。

3.编译源码,并安装

进入到我们解压的源码目录,通过configure对即将安装的软件进行配置,检查当前的环境是否满足要安装软件的依赖关系

cp /usr/lib64/libldap* /usr/lib/./configure --prefix=/usr/local/php72 --with-config-file-path=/usr/local/php72/etc --enable-fpm --with-fpm-user=www-data --with-fpm-group=www-data --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --enable-mysqlnd-compression-support --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-mbstring --enable-intl --with-libmbfl --enable-ftp --with-gd --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --with-gettext --disable-fileinfo --enable-opcache --with-pear --enable-maintainer-zts --with-ldap=shared --without-gdbm

这里如果你是安装的PHP7.3的话,会报错让重新安装libzip,这里是因为yum安装的libzip版本低了的原因,需要移除已经安装的libzip,重新安装更新版本的libzip,成功的话会生产makefile文件。

4.编译并安装

make -j 4 && make install

-j表示同时允许几个任务

5.配置

cp php.ini-development /usr/local/php72/etc/php.inicp /usr/local/php72/etc/php-fpm.conf.default /usr/local/php72/etc/php-fpm.confcp /usr/local/php72/etc/php-fpm.d/www.conf.default /usr/local/php72/etc/php-fpm.d/www.conf

去掉以下两行的注释

;pid = run/php-fpm.pid;error_log = log/php-fpm.log

确定www.conf中的user和group,用户一定要存在,没有则需添加www-data用户和用户组,否则启动php-fpm会失败

user = www-datagroup = www-data

6.增加php-fpm.service启动脚本

vim /usr/lib/systemd/system/php-fpm.service脚本内容:[Unit]Description=The PHP FastCGI Process ManagerAfter=syslog.target network.target [Service]Type=simplePIDFile=/usr/local/php72/var/run/php-fpm.pidExecStart=/usr/local/php72/sbin/php-fpm --nodaemonize --fpm-config /usr/local/php72/etc/php-fpm.confExecReload=/bin/kill -USR2 $MAINPID [Install]WantedBy=multi-user.target

增加了脚本之后,就可以通过service命令来进行管理了。

547310cc929ffc75898ce4841072861c.png

到这里也就完成了Nginx和PHP的安装了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值