当前位置:首页 > 技术文章 > 正文内容

nginx通用网站架构lnmp

arlanguage4个月前 (01-12)技术文章33

nginx环境准备

php环境准备:

##使用第三方扩展源安装php7.1*

#不要安装如下rpm会导致失败
# rpm -Uvh https://d1.fedoraproject.org/pub/epe1/epe1-release-latest-7.noarch.rpm
# rpm -Uvh https://mirror.webtatic.com/yum/e17/webtatic-release.rpm

[root@nginx ~]# yum remove  php-mysq1-5.4 php php-fpm php-common

#配置php yum源
#安装完成后记得把这个php源注释掉
[root@nginx ~]# cat /etc/yum.repos.d/php.repo
[webtatic-php]
name = php Repository
baseur1= http://us-east.repo.webtatic.com/yum/e17/x86_64/
gpgcheck =0

或者

yum 安装php源
yum install epel-release
安装REMI源
yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
安装yum源管理工具
yum install yum-utils

安装php7.3
yum install -y php73-php-fpm php73-php-cli php73-php-bcmath php73-php-gd php73-php-json php73-php-mbstring php73-php-mcrypt php73-php-mysqlnd php73-php-opcache php73-php-pdo php73-php-pecl-crypto php73-php-pecl-mcrypt php73-php-pecl-geoip php73-php-recode php73-php-snmp php73-php-soap php73-php-xmll

systemctl enable php73-php-fpm
systemctl start php73-php-fpm

查找php.ini位置

[root@xxx etc]# find /etc/opt/remi/php73 -name php.ini
/etc/opt/remi/php73/php.ini

编辑/etc/opt/remi/php73/php.ini替换换 ;cgi.fix_pathinfo=1 为 cgi.fix_pathinfo=0 快捷命令:

sed -i 's/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/' /etc/opt/remi/php73/php.ini

这里是将参数cgi.fix_pathinfo置为0,作用是:
php.ini中的配置参数cgi.fix_pathinfo,它是用来对设置cgi模式下为php是否提供绝对路径信息或PATH_INFO信息。没有这个参数之前PHP设置绝对路径PATH_TRANSLATED的值为SCRIPT_FILENAME,没有PATH_INFO值。设置cgi.fix_pathinfo=1后,cgi设置完整的路径信息PATH_TRANSLATED的值为SCRIPT_FILENAME,并且设置PATH_INFO信息;如果设为cgi.fix_pathinfo=0则只设置绝对路径PATH_TRANSLATED的值为SCRIPT_FILENAME。cgi.fix_pathinfo的默认值是1。
nginx默认是不会设置PATH_INFO环境变量的的值,需要通过正则匹配设置SCRIPT_FILENAME,但这样会带来安全隐患,需要把cgi.fix_pathinfo=0设置为0。但是一旦关闭这个这场,PHP就获取不到PATH_INFO信息,那些依赖PATH_INFO进行URL美化的程序就失效了。
重启php73-php-fpm
systemctl restart php73-php-fpm
更多操作:

systemctl restart php73-php-fpm#重启

systemctl start php73-php-fpm#启动

systemctl stop php73-php-fpm#关闭

systemctl status php73-php-fpm #检查状态

查看PHP版本信息:

root@mf88.biz-service:~# php73 -v

PHP 7.3.0-1+(cli) (built: Dec 6 2018 20:24:55) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.3.0-dev, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.3.0-1+ubuntu18.04.1+deb.sury.org+1,

Copyright (c) 1999-2018, by Zend Technologies

安装php7.1

##使用第三方扩展源安装php7.1*

#不要安装如下rpm会导致失败
# rpm -Uvh https://d1.fedoraproject.org/pub/epe1/epe1-release-latest-7.noarch.rpm
# rpm -Uvh https://mirror.webtatic.com/yum/e17/webtatic-release.rpm

[root@nginx ~]# yum remove  php-mysq1-5.4 php php-fpm php-common

#配置php yum源
#安装完成后记得把这个php源注释掉
[root@nginx ~]# cat /etc/yum.repos.d/php.repo
[webtatic-php]
name = php Repository
baseur1= http://us-east.repo.webtatic.com/yum/e17/x86_64/
gpgcheck =0



[root@nginx ~]# yum -y install php71w php71w-c1i php7lw-common php71w-devel php71w-embedded php71w-gd php71w-mcrypt php71w-mbstring php71w-pdo php71w-xml php71w-fpm php71w-mysqlnd php71w-opcache php71w-pecl-memcached php71w-pecl-redis php71w-pecl-mongodb

#配置php-fpm用户与Nginx的运行用户保持一致*
#bash
[root@nginx ~]# sed -i '/^user/c user = www' /etc/php-fpm.d/www.conf
[root@nginx ~]# sed -i '/^group/c group = www' /etc/php-fpm.d/www.conf

#启动php-fpm,并将其加入开机自启*

[rootanginx~]# systemctl start php-fpm
[rootanginx~]# systemctl enable php-fpm

扫描二维码推送至手机访问。

版权声明:本文由AR编程网发布,如需转载请注明出处。

本文链接:http://www.arlanguage.com/post/778.html

标签: nginx mongodb
分享给朋友:

“nginx通用网站架构lnmp” 的相关文章

分享一段PHP代码的加密扩展 分享一段php代码的加密扩展怎么弄

介绍一个简洁、高性能、跨平台的 PHP7 代码加密扩展特点简单快速,经实测,几乎不影响性能兼容 OPcache、Xdebug 等其他扩展支持 Linux、macOS、Windows 等系统兼容 Apache、Nginx + PHP-fpm、命令行等运行模式加密算法较简单,这是出于速度考虑,但仍不易解...

nginx配置集群 -websocket

nginx配置集群 -websocket前几天做一个nginx的反向代理,来代理websocket。因为上线时间的问题,所以是单节点运行。现在准备做集群优化,然后上容器环境。这样就需要配置nginx的负载均衡。不废话了,下面是配置文件。当然配置后需要验证,验证的时候会出现很多奇怪的问题。这里就不进行...

Nginx缓存设置教程

这篇文章主要介绍了Nginx缓存设置案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下在开发调试web的时候,经常会碰到因浏览器缓存(cache)而经常要去清空缓存或者强制刷新来测试的烦恼,提供下apache不缓存配置和nginx不缓存配置的设置。在...

Linux日志处理神器-Logrotate

Logrotate简介Logrotate是Linux中日志分割、压缩、清理的工具,一般CentOS默认都会安装该工具。logrotate运行原理logrotate依赖于anacron执行每小时、每天、每周或每月的定时任务,corn每个小时会扫描当前机器中定时任务执行状态。 logrotate运行依...

Linux—shell中$(( ))、$( )、` `与$「 」的详解

命令替换在bash中,$( )与` `(反引号)都是用来作命令替换的。命令替换与变量替换差不多,都是用来重组命令行的,先完成引号里的命令行,然后将其结果替换出来,再重组成新的命令行。[root@localhost ~]# echo Tom > tom.txt [root@localhost ~...

nginx入门——nginx访问日志(六)

日志功能在ngx_http_log_module模块中定义,实现了以指定格式写入请求日志。我们先来看一个nginx配置文件:http { include mime.types; default_type application/octet-stream;...