准备工作:当然首先要下载PHP和Nginx包文件,下面是我分享的两个包:
(若链接失效,记得留言)
然后通过工具(我用xftp)上传到系统相应路径用tar -zxvf 压缩文件,进行解压如下图:
一、安装配置PHP
1.安装依赖包
yum -y install libxml2 libxml2-devel gcc cc libicu-devel libxml2 libxml2-devel openssl openssl-devel curl curl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel pcre pcre-devel libxslt libxslt-devel bzip2 bzip2-devel
2.切换到php包目录下,配置路径如下图:
./configure --prefix=/usr/local/php --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-jpeg-dir --with-xmlrpc --with-xsl --with-zlib --with-bz2 --with-mhash --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-sysvshm --enable-xml --enable-zip
或
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-config-file-scan-dir=/usr/local/php/conf.d --enable-fpm --with-fpm-user=www --with-fpm-group=www --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir --with-freetype-dir=/usr/local/freetype --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-mbstring --enable-intl --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-xsl
正常情况会有如下图提示,表示成功:
3.开始编译安装:(提示:安装过程较慢)
[root@client1 php-7.1.2]# make && make install
安装完成有如下图“Bulid complete.”提示:
(提示:安装完成后官方会建议执行make test命令进行测试,因为验证一万多个文件特别慢,所以不建议测试!)
4.编译安装完成后PHP需要配置php.ini文件,此时只需复制php.ini-production到 /usr/local/lib/php.ini即可,php.ini文件一般在/usr/local/lib/和/etc目录下
[root@client1 lib]# cp /data/software/nginx+php/php-7.1.2/php.ini-production /usr/local/lib/php.ini
5.启动php-fpm会报错如下图:
[11-Dec-2018 11:40:55] ERROR: failed to open configuration file '/data/php/etc/php-fpm.conf': No such file or directory (2) [11-Dec-2018 11:40:55] ERROR: failed to load configuration file '/data/php/etc/php-fpm.conf' [11-Dec-2018 11:40:55] ERROR: FPM initialization failed
意思是/usr/local/php/etc/php-fpm.conf目录下找不到php-fpm.conf配置文件(这个目录下的php-fpm.conf.default配置文件就是php-fpm.conf,为了安全起见,将其复制为php-fpm.conf)
[root@client1 etc]# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
重新启动php-fpm,会有如下报错:
[11-Dec-2018 11:44:34] WARNING: Nothing matches the include pattern '/data/php/etc/php-fpm.d/*.conf' from /data/php/etc/php-fpm.conf at line 125. [11-Dec-2018 11:44:34] ERROR: No pool defined. at least one pool section must be specified in config file [11-Dec-2018 11:44:34] ERROR: failed to post process the configuration [11-Dec-2018 11:44:34] ERROR: FPM initialization failed [root@zabbix-server01 sbin]# cp /data/php/etc/php-fpm.d/www.conf.default /data/php/etc/php-fpm.d/www.conf
意思是/usr/local/php/etc/php-fpm.conf的125行没有包含/usr/local/php/etc/php-fpm.d/*.conf的文件,和上面报错的解决方法一样,将默认的www.conf.default配置文件拷贝为www.conf即可
[root@client1 etc]# cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
再启动php-fpm就没有问题了,测试9000端口打开即表示启动成功!
php -v可以看到安装的php版本
二、安装配置nginx
1.安装编译工具及库文件
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
2.首先安装PCRE,作用是让Nginx支持重写功能,
a.下载并解压pcre:
[root@client1 nginx+php]# wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz
b.切换到pcre目录,开始编译安装
[root@client1 pcre-8.35]# ./configure [root@client1 pcre-8.35]# make && make install
c.查看pcre版本
[root@client1 pcre-8.35]# pcre-config --version
如下图:
3.切换到nginx目录下开始编译安装
提示:若nginx1.14.0版本安装有报错,可以测试新版本1.20.1:https://nginx.org/download/nginx-1.20.1.tar.gz
[root@client1 nginx+php]# cd nginx-1.14.0/ [root@client1 nginx-1.14.0]# ./configure --prefix=/usr/local/nginx
[root@client1 nginx-1.14.0]# make && make install
4.查看nginx版本:[root@client1 nginx-1.14.0]# /usr/local/nginx/sbin/nginx -v
如下图:
5.创建Nginx运行使用的用户:www
[root@client1 nginx-1.14.0]# groupadd www [root@client1 nginx-1.14.0]# useradd -g www www
6.配置nginx.conf,如下图:
验证nginx配置是否正确:进入nginx安装目录sbin下,运行:./nginx -t;或者在启动命令前加-t,如:/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
提示如下表示配置正确:
worker_processes 2; #设置值和CPU核心数一致2 ; #设置值和CPU核心数一致 error_log /usr/local/webserver/nginx/logs/nginx_error.log crit; #日志位置和日志级别/ usr / local / webserver / nginx / logs / nginx_error 。日志暴击; #日志位置和日志级别 pid /usr/local/webserver/nginx/nginx.pid;/ usr / local / webserver / nginx / nginx 。pid ; #指定此进程可以打开的最大文件描述符的值。#指定此进程可以打开的最大文件描述符的值。 worker_rlimit_nofile 65535;65535 ; 事件 {{ 使用epoll;使用epoll ; worker_connections 65535;65535 ; }} HTTP {{ 包括mime.types;。类型; default_type application / octet-stream;/ octet - stream ; log_format main'$ remote_addr - $ remote_user [$ time_local]“$ request”''$ remote_addr - $ remote_user [$ time_local]“$ request”' '$ status $ body_bytes_sent“$ http_referer”''$ status $ body_bytes_sent“$ http_referer”' '“$ http_user_agent”$ http_x_forwarded_for';'“$ http_user_agent”$ http_x_forwarded_for' ; #charset gb2312;#charset gb2312; server_names_hash_bucket_size 128;128 ; client_header_buffer_size 32k;32k ; large_client_header_buffers 4 32k;4 32k ; client_max_body_size 8m;8米; sendfile on;; tcp_nopush on;; keepalive_timeout 60;60 ; tcp_nodelay on;; fastcgi_connect_timeout 300;300 ; fastcgi_send_timeout 300;300 ; fastcgi_read_timeout 300;300 ; fastcgi_buffer_size 64k;64k ; fastcgi_buffers 4 64k;4 64k ; fastcgi_busy_buffers_size 128k;128k ; fastcgi_temp_file_write_size 128k;128k ; gzip on; ; gzip_min_length 1k;1k ; gzip_buffers 4 16k;4 16k ; gzip_http_version 1.0;1.0 ; gzip_comp_level 2;2 ; gzip_types text / plain application / x-javascript text / css application / xml;/ plain application / x - javascript text / css application / xml ; gzip_vary on;; #limit_zone crawler $ binary_remote_addr 10m;#limit_zone crawler $ binary_remote_addr 10m; #下面是服务器虚拟主机的配置#下面是服务器虚拟主机的配置 服务器 {{ 听80;#监听端口80 ;#监听端口 server_name localhost;#域名;#域名 index index.html index.htm index.php;。html索引。htm指数。php ; root / usr / local / webserver / nginx / html;#站点目录/ usr / local / webserver / nginx / html ;#站点目录 location~. * \。(php | php5)?$〜。* \。(php | php5 )?$ {{ #fastcgi_pass unix:/tmp/php-cgi.sock;#fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_pass 127.0.0.1:9000;127.0 。0.1 :9000 ; fastcgi_index index.php; 包括fastcgi.conf; } location~. * \。(gif | jpg | jpeg | png | bmp | swf | ico)$ { 到期30d; #access_log off; } location~. * \。(js | css)?$ { 到期15d; #access_log off; } access_log off; } }
nginx.conf参考配置
提示:kill -HUP pid
pid 是进程标识。如果想要更改配置而不需停止并重新启动服务,请使用该命令。在对配置文件作必要的更改后,发出该命令以动态更新服务配置。
7.在html目录下创建php文件,touch index.php,并进行编辑写入如下内容,保存退出
<?php phpinfo();
重启nginx,./sbin/nginx -s reload,重新打开网页显示如下图所示,表示nginx+PHP环境安装成功!
如有错误或纰漏之处,还望留言,大家共同探讨学习交流!
参考博客:https://www.cnblogs.com/hsia2017/p/6711171.html
评论前必须登录!
注册