nginx+php环境搭建详解(Linux)
今天在内网环境下,给linux主机安装nginx+php环境,由于是内网环境,只能手动解压缩包进行安装,在这过程中我也着实遇到了一些问题(困扰了我许久),还好最后搭建环境成功了,所以写篇博客记录一下,望广大读友以后不要采坑。
搭建nginx环境
linux系统以centos7 64位为例
准备目录
mkdir /usr/local/nginx
cd /usr/local/nginx/
下载
从http://nginx.org/download/上下载相应的版本(我这里以http://nginx.org/download/nginx-1.5.9.tar.gz为例)
解压
tar -zxvf nginx-1.5.9.tar.gz
解压后移至目录
[root@localhost nginx]# cd nginx-1.5.9/
设置Nginx安装路径,如果没有指定,默认为/usr/local/nginx
[root@localhost nginx-1.5.9]# ./configure --prefix=/usr/local/nginx
结尾如果是这样,且没显红,就说明执行成功了
Configuration summary
+ using system PCRE library
+ OpenSSL library is not used
+ md5: using system crypto library
+ sha1: using system crypto library
+ using system zlib library nginx path prefix: "/usr/local/nginx"
nginx binary file: "/usr/local/nginx/sbin/nginx"
nginx configuration prefix: "/usr/local/nginx/conf"
nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
nginx pid file: "/usr/local/nginx/logs/nginx.pid"
nginx error log file: "/usr/local/nginx/logs/error.log"
nginx http access log file: "/usr/local/nginx/logs/access.log"
nginx http client request body temporary files: "client_body_temp"
nginx http proxy temporary files: "proxy_temp"
nginx http fastcgi temporary files: "fastcgi_temp"
nginx http uwsgi temporary files: "uwsgi_temp"
nginx http scgi temporary files: "scgi_temp" [root@localhost nginx-1.5.9]#
然后进行编译
make (make的过程是把各种语言写的源码文件,变成可执行文件和各种库文件)
[root@localhost nginx-1.5.9]# make
结尾若是这,就说明成功了
make[1]: Entering directory `/usr/local/nginx/nginx-1.5.9'
sed -e "s|%%PREFIX%%|/usr/local/nginx|" \
-e "s|%%PID_PATH%%|/usr/local/nginx/logs/nginx.pid|" \
-e "s|%%CONF_PATH%%|/usr/local/nginx/conf/nginx.conf|" \
-e "s|%%ERROR_LOG_PATH%%|/usr/local/nginx/logs/error.log|" \
< man/nginx.8 > objs/nginx.8
make[1]: Leaving directory `/usr/local/nginx/nginx-1.5.9'
[root@localhost nginx-1.5.9]#
安装
make install (make install是把这些编译出来的可执行文件和库文件复制到合适的地方)
[root@localhost nginx-1.5.9]# make install
启动
参数 -c 指定了配置文件的路径,如果不加的话就是使用默认的配置文件
[root@localhost nginx-1.5.9]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
启动命令一般在 /usr/local/nginx/sbin/ 目录下的nginx
可以先切换到 /usr/local/nginx/sbin/ 目录下,然后执行 ./nginx 也可启动
重启
重启命令也是在 /usr/local/nginx/sbin/ 目录下的nginx
先切换到 /usr/local/nginx/sbin/ 目录下,然后执行 ./nginx -s reload 就可重新启动
停止
停止操作是通过向nginx进程发送信号来进行的
先查询nginx的主进程号
ps -ef | grep nginx
在进程列表里 面找master进程,它的编号就是主进程号了。
发送信号
从容停止Nginx
kill -QUIT 主进程号
快速停止Nginx
kill -TERM 主进程号
强制停止Nginx
pkill -9 nginx
访问
在浏览器中输入IP:端口号(默认80),出现如下图所示,说明安装成功。

搭建php环境
准备目录
mkdir /usr/local/php cd /usr/local/php/
解压
tar -zxvf php-7.3.2.tar.gz
解压后进入目录 php-7.3.2/
[root@localhost php]# cd php-7.3.2/
进入目录开始编译安装:
./configure --prefix=/usr/local/php --enable-fpm
下面是直接把常用的扩展安装好,免得后面在一个一个安装(推荐)
./configure --prefix=/usr/local/php --with-curl --with-mysqli --with-openssl --with-pdo-mysql --enable-fpm
编译
make
安装
make install
配置
cp /usr/local/php/php-7.3.2/php.ini-development /usr/local/php/lib/php.ini
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
cp /usr/local/php/php-7.3.2/sapi/fpm/php-fpm /usr/local/bin
首先我们应该创建web用户(这跟后面nginx.conf有很大联系)
groupadd daye
useradd -g daye daye
注意,不能是root账户,否则后面运行php-fpm就会报错
默认情况下etc/php-fpm.d/下有一个名为www.conf.defalut的配置用户的文件,执行下面命令复制一个新文件并且打开:
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
vim /usr/local/php/etc/php-fpm.d/www.conf
默认user和group的设置为nobody,将其改为daye

修改完成之后,保存并退出,然后执行以下命令启动php-fpm服务:
/usr/local/bin/php-fpm
ps:先切换到 /usr/local/bin 目录下
然后执行 ./php-fpm
启动完毕之后,php-fpm服务默认使用9000端口,使用 netstat -tln | grep 9000 可以查看端口使用情况:

9000端口正常使用,说明php-fpm服务启动成功
然后执行vim /usr/local/nginx/nginx.conf 编辑nginx配置文件,具体路径根据实际的nginx.conf配置文件位置编辑,下面主要修改nginx的server {}配置块中的内容,修改location块,追加index.php让nginx服务器默认支持index.php为首页:
修改的地方主要有三处
1.

2.

3.

修改完这些保存并退出,然后重启nginx:
重启命令是在 /usr/local/nginx/sbin/ 目录下的nginx
先切换到 /usr/local/nginx/sbin/ 目录下,然后执行 ./nginx -s reload 就可重新启动
最后测试一下
在 /usr/local/nginx/html 目录下新建一个test.php文件
<?php phpinfo();?>
访问该页面

说明nginx+php环境搭建成功!!!
参考:https://www.cnblogs.com/hftian/p/9469128.html
https://www.jianshu.com/p/ca3f65117217
nginx+php环境搭建详解(Linux)的更多相关文章
- Windows GTK+ 环境搭建(详解)
来源:http://blog.sina.com.cn/s/blog_a6fb6cc901017ygy.html Windows GTK+ 环境搭建 最近要做界面的一些东西,但是对微软提供的类库MFC不 ...
- Python环境搭建详解(Window平台)
前言 Python,是一种面向对象的解释型计算机程序设计语言,是纯粹的自由软件,Python语法简洁清晰,特色是强制用空白符作为语句缩进,具有丰富和强大的库,它常被称为胶水语言. Python是一种解 ...
- Vue.js 运行环境搭建详解(基于windows的手把手安装教学)及vue、node基础知识普及
Vue.js 是一套构建用户界面的渐进式框架.他自身不是一个全能框架——只聚焦于视图层.因此它非常容易学习,非常容易与其它库或已有项目整合.在与相关工具和支持库一起使用时,Vue.js 也能完美地驱动 ...
- Windows下的SVN环境搭建详解
前言:最近因为要和其他人合作开发项目,所以花时间搭建了SVN的环境. 因为是初次使用SVN,对于SVN的环境搭建很不熟悉,再加上网上的教程都介绍的比较粗略,导致前前后后重做了几次. 当然最终是搭建成功 ...
- AngularJS4.0环境搭建详解--windows系统环境
第一步:安装NodeJS 下载最新版的NodeJS并安装,安装完成后打开CMD命令行,输入以下命令: node -v 若返回类似版本号则代表NodeJS安装成功,如下: 第二部 安装npm 新版的No ...
- windows 64位下,React-Native环境搭建详解 (Android)
React-Native环境搭建需要: 1.安装Java JDK 2.安装Android Studio 3.安装node.js 4.安装git 5.安装Python 2.x (注意目前不支持Pytho ...
- python webdriver 环境搭建详解
学了一个月用java编写selenium driver 测试脚本,也将公司做的系统基本可用的模块做了一次自动化,虽然写的比较简陋,但是基本可用跑一遍,并用testNG生成了测试报告. 学习方式无非是: ...
- eclipseIDE for javaee developers 开发环境搭建详解图文
使用eclipse真的有年头了,相信java程序员没有不知道它的,最近在给团队中新来的应届生做指导,专门讲解了一下Eclipse开发环境的搭建过程,一是帮助他们尽快的熟悉IDE的使用,二也是保证团队开 ...
- Windows7 QT5.6.0(64位)使用mysql(64位)环境搭建详解
1 说明 使用环境为:Windows7 VS2015 QT5.6.0(64位),MYSQL 5.7.13(64位). 网上各种错误.模糊.抽象的资料,配置环境花了半天,痛定思痛,总结出来,方便后来人. ...
随机推荐
- [BUUCTF]PWN9——ciscn_2019_en_2
[BUUCTF]PWN9--ciscn_2019_en_2 题目网址:https://buuoj.cn/challenges#ciscn_2019_en_2 步骤: 例行检查,64位,开启了NX保护 ...
- 获取登录验证码失败及前后端不同域导致session丢失问题分析记录
前言 前两周在把兄弟公司的几个服务部署到我们公司测试环境服务器的时候又遇到了不少问题,因为是前后端分离的项目,所以这次也同样遇到了跨域问题,解决方式也跟上一回的不一样,这里就再来分析记录一下. 登录验 ...
- CF979A Pizza, Pizza, Pizza!!! 题解
Content 小 S 想把一块披萨切成大小.形状都相同的 \((n+1)\) 块(\(n\) 块分给 TA 的 \(n\) 个朋友,还有一块留给自己),试问最小需要切多少块. 数据范围:\(0\le ...
- Java的垃圾回收机制:强制回收System.gc() Runtime.getTime().gc()
垃圾回收 当引用类型的实体,如对象.数组等不再被任何变量引用的时候.这块占用的内存就成为了垃圾.JVM会根据自己的策略决定是回收内存 注意: 垃圾回收只回收内存中的对象,无法回收物理资源(数据库连接, ...
- 聊一下 TS 中的交叉类型
交叉类型不能完全按照传统编程中的 与 来理解. 交叉类型的定义:将多个类型合并为一个类型,包含了所有类型的特性,而且要同时满足要交叉的所有类型. 后半段话不是很好理解,看一下接口类型和联合类型的交叉类 ...
- c++设计模式概述之观察者
代码写的不够规范,目的是缩短篇幅,实际情况请不要这样做 1.概述 观察者模式,类比生活中的场景,比如看电影,观众对播放的内容有不同的反应, 再比如订阅,公众号订阅,只要你订阅了其公众号,你就会收到其推 ...
- 【LeetCode】169. Majority Element 解题报告(Java & Python & C+)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 思路 hashmap统计次数 摩尔投票法 Moore ...
- 【九度OJ】题目1028:继续畅通工程 解题报告
[九度OJ]题目1028:继续畅通工程 解题报告 标签(空格分隔): 九度OJ 原题地址:http://ac.jobdu.com/problem.php?pid=1028 题目描述: 省政府" ...
- Mac下搭建基于PlatformIO的嵌入式开发环境(STM32开发)
PlatformIO简介 PlatformIO是开源的物联网开发生态系统.提供跨平台的代码构建器.集成开发环境(IDE),兼容 Arduino,ESP8266和mbed等 支持在Windows.Lin ...
- Winform中使用HttpClient与后端api服务进行交互
前端js可以使用ajax.axios发出http请求 在c#中winform.控制台等可以通过WebRequest.WebClient.HttpClient 有关三个类的性能对比大家可以自己搜一下,这 ...