一、安装编译工具及库文件:

yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel

环境要求

nginx是C语言开发,建议在linux上运行,本文章使用Centos7作为安装环境。

安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc:yum install gcc-c++

zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。

OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。

二、首先要安装 PCRE:

PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。

注:pcre-devel是使用pcre开发的一个二次开发库。nginx也需要此库。

1、PCRE 作用是让 Nginx 支持 Rewrite 功能。

cd /usr/local/src/   # 进入目录

下载 PCRE 安装包,下载地址: http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz

2、解压安装包:

tar -zxvf pcre-8.35.tar.gz

3、进入安装包目录

cd pcre-8.35/

4、编译安装

./configure

make && make install

5、查看pcre版本

pcre-config --version

三、安装 Nginx:

1、下载 Nginx,下载地址:http://nginx.org/download/nginx-1.14.1.tar.gz

生产环境使用Stable version:最新稳定版,现在最新的版本是nginx-1.14.1

注意各版本的区别:Nginx官网提供了三个类型的版本

(1)Mainline version:Mainline 是 Nginx 目前主力在做的版本,可以说是开发版
(2)Stable version:最新稳定版,生产环境上建议使用的版本
(3)Legacy versions:遗留的老版本的稳定版

cd /usr/local/src/

wget http://nginx.org/download/nginx-1.14.1.tar.gz

2、解压安装包:

tar -zxvf nginx-1.14.1.tar.gz

3、进入安装包目录

cd nginx-1.14.1/

4、编译安装

./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.35      # 编译源码包代码,追加--prefix参数,指定稍后源码包程序的安装路径

make      # 生成二进制安装程序

make install     # 运行二进制安装程序

5、查看nginx版本

/usr/local/webserver/nginx/sbin/nginx -v

到此,nginx安装完成。

四、Nginx 配置:

创建 Nginx 运行使用的用户和组 www:

/usr/sbin/groupadd www
/usr/sbin/useradd -g www www

配置nginx.conf ,将/usr/local/webserver/nginx/conf/nginx.conf替换为以下内容

mv nginx.conf nginx.conf-backup     # 备份nginx的配置文件

vim nginx.conf     # 新建nginx的配置文件,写入以下内容

user www www;
worker_processes 2;   # 设置值和系统CPU核心数一致
error_log /usr/local/webserver/nginx/logs/nginx_error.log crit;  # 日志位置和日志级别
pid /usr/local/webserver/nginx/nginx.pid;
#Specifies the value for maximum file descriptors that can be opened by this process.
worker_rlimit_nofile 65535;
events
{
use epoll;
worker_connections 65535;
}
http
{
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" $http_x_forwarded_for';

#charset gb2312;

server_names_hash_bucket_size 128;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
client_max_body_size 8m;

sendfile on;
tcp_nopush on;
keepalive_timeout 60;
tcp_nodelay on;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 128k;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.0;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript text/css application/xml;
gzip_vary on;

#limit_zone crawler $binary_remote_addr 10m;
# 下面是server虚拟主机的配置
server
{

listen 8000;   # 监听端口(根据自己的需求更改)
server_name localhost;   # 域名
index index.html index.htm index.php;
root /usr/local/webserver/nginx/html;   # 站点目录(也就是以后存放php文件的根目录)
location ~ .*\.(php|php5)?$
{
#fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_pass 127.0.0.1:9000;   # 需要特别注意这个配置,这里是用来连接Nginx和PHP的php-fpm服务的默认端口9000,php-fpm服务后面会安装,可以根据自己的需求更改
fastcgi_index index.php;
include fastcgi.conf;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|ico)$
{
expires 30d;
# access_log off;
}
location ~ .*\.(js|css)?$
{
expires 15d;
# access_log off;
}
access_log off;
}

}

检查配置文件nginx.conf的正确性命令:

/usr/local/webserver/nginx/sbin/nginx -t

五、启动 Nginx:

Nginx 启动命令如下:

/usr/local/webserver/nginx/sbin/nginx
ps -ef | grep nginx

六、访问Nginx:

从浏览器访问我们配置的站点IP,如果出现Welcome to nginx!那么nginx就安装成功了!

Nginx 其他命令

以下包含了 Nginx 常用的几个命令:

/usr/local/webserver/nginx/sbin/nginx -s reload      # 重新载入配置文件

/usr/local/webserver/nginx/sbin/nginx -s reopen     # 重启nginx

/usr/local/webserver/nginx/sbin/nginx -s stop         # 停止nginx

七、安装PHP7

(1)安装php7

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

yum install php70w.x86_64 php70w-cli.x86_64 php70w-common.x86_64 php70w-gd.x86_64 php70w-ldap.x86_64 php70w-mbstring.x86_64 php70w-mcrypt.x86_64 php70w-mysql.x86_64 php70w-pdo.x86_64

安装完成后键入php -v会显示出php的版本,代表我们php安装完成了,先别激动,接着往下看。

 

Nginx和PHP都安装完成了,此时还得配置php-fpm服务。让nginx与php连接起来,才能使用。

(2)安装php-fpm

yum install php70w-fpm php70w-opcache

打开php-fpm配置文件

vim /etc/php-fpm.d/www.conf

修改以下内容(这里查找配置项时,可以在末行模式下使用斜杠加要查找的关键字回车查找,如下图所示)

将listen.owner与listen.group参数分别修改为www

(3)最后,把三个参数修改完成后:wq退出,然后启动 php-fpm 服务

systemctl start php-fpm

注意:/var/log/php-fpm/error.log文件是php-fpm服务的错误日志文件,要是有什么错误可以去查看,我遇到了php-fpm服务默认9000端口被占用,导致php-fpm服务启动不了,要是你也遇到,更改冲突端口。

(4)开机启动设置

systemctl enable php-fpm
systemctl daemon-reload

(5)在之前设置的php目录下,新建一个php文件用于测试。

在 /usr/local/webserver/nginx/html 目录下建立 index.php 文件

cd /usr/local/webserver/nginx/html

vim index.php

(6)输入以下内容:

<?php
 phpinfo();
?>

退出保存

(7)重启Nginx

/usr/local/webserver/nginx/sbin/nginx -s reopen     # 重启nginx

/usr/local/webserver/nginx/sbin/nginx    # 启动nginx

ps -ef | grep nginx    # 以全格式查看所有nginx服务的进程信息

(8)然后,在浏览器上访问你的IP地址:端口号/index.php如果看到以下画面,则说明我们的 nginx + php 成功关联上了。

转载于:https://www.cnblogs.com/opsprobe/p/9939021.html

CentOS7下搭建Nginx+PHP7的安装配置相关推荐

  1. CentOS7下Mysql Cluster 7.4安装配置

    Mysql Cluster 7.4安装配置(部分图片未显示) 1 环境说明 1.1 所依赖环境 CentOS7.2  (需关闭防火墙) JDK7 1.2 五大服务器IP部署 管理节点 MGM1:10. ...

  2. CentOS7下分布式文件系统FastDFS的安装 配置 (单节点)

    背景 FastDFS是一个开源的轻量级分布式文件系统,为互联网量身定制,充分考虑了冗余备份.负载均衡.线性扩容等机制,并注重高可用.高性能等指标,解决了大容量存储和负载均衡的问题,特别适合以文件为载体 ...

  3. Linux系统:centos7下搭建Nginx和FastDFS文件管理中间件

    一.FastDFS简介 1.基础概念 FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储.文件同步.文件上传.文件下载等,解决了大容量存储和负载均衡的问题. 2.环境 ...

  4. Centos7下搭建LAMP环境,安装wordpress(不会生产博客,只是一名博客搬运工)(菜鸟)

    1.搭建MySQL数据库 安装MariaDB yum install mariadb-server -y 启动MySQL服务 emctl start mariadb #启动服务 emtcl enabl ...

  5. Linux系统:Centos7下搭建PostgreSQL关系型数据库

    本文源码:GitHub·点这里 || GitEE·点这里 一.PostgreSQL简介 1.数据库简介 PostgreSQL是一个功能强大的开源数据库系统,具有可靠性.稳定性.数据一致性等特点,且可以 ...

  6. mac nginx php-fpm,Mac系统下搭建Nginx+php-fpm实例讲解

    分享背景 由于一直在虚拟机的状态下开发PHP,尝试一下mac本地搭建环境.mac本身是自带Apache+php的,在低版本的mac系统中,mac中的php版本是5.6的版本. 本文分享的是在mac的1 ...

  7. linux7 postfix,CentOS7下搭建postfix邮箱服务器并实现extmail的web访问

    笔记内容:CentOS7下搭建postfix邮箱服务器并实现extmail的web访问 笔记日期:2017-11-20 闲来无事想着尝试使用postfix搭建一个邮箱服务器,我是边搭建边写这个笔记,搭 ...

  8. 阿里云服务器ECS centos7.4搭建nginx环境部署静态代码

    阿里云服务器ECS centos7.4搭建nginx环境部署静态代码 欢迎来到新手如何通过阿里云服务器部署静态网站 作为一个前端开发,第一次部署自己的私人网站,没有经验,战战兢兢,但是没有办法,成为全 ...

  9. Ubuntu 下搭建 Nginx 部署 vue 项目

    Ubuntu 下搭建 Nginx 部署 vue 项目 上一篇:Ubuntu 下部署 SpringBoot 第一步: Ubuntu 上安装 nodejs 执行 apt install nodejs 命令 ...

最新文章

  1. 数据治理(Data Governance)
  2. 那些在学习iOS开发前就应该知道的事(part 1)
  3. 推荐几首好听的Coldplay的歌
  4. Nginx —— configure的命令参数(nginx编译选项)
  5. 输入两个整数序列。其中一个序列表示栈的push顺序, 判断另一个序列有没有可能是对应的pop顺序。
  6. 个人工作总结10(第二阶段)
  7. 全国一等奖,F题:智能送药小车。
  8. 从零开始撸一个Kotlin Demo
  9. 信息系统项目管理师备考指南
  10. 中国象棋博弈源代码Android,中国象棋源代码
  11. JAVA自学知识点评定标准--自尚学堂马士兵
  12. 计算机网络模拟器 mac,网易mumu模拟器mac版使用常见问题解决办法_3DM手游
  13. 光学图像、SAR图像等区别
  14. 解决 Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8
  15. Jupyter启动报错 ImportError: DLL load failed while importing error
  16. 阿里云服务器 ECS 数据盘与系统盘是什么?
  17. DevOps - (1)Terraform+阿里云实现云资源的CI/CD
  18. Python教程视频千锋最新版免费分享
  19. win10添加照片查看器
  20. Python数据可视化工具matplotlib(五)-- 面积图、填图、饼图

热门文章

  1. 失效日期 软件测试案例_软件异常测试经验总结(精)
  2. OVS DPDK--介绍(二)
  3. springboot2 war页面放在那_Spring Boot2 系列教程(三十三)整合 Spring Security
  4. idea 快速搭建spring boot 多模块项目(底部附源码)
  5. PHP 8 确认支持 JIT
  6. 规模 300+ 的研发团队,怎样保持工程高质高效?
  7. Java编程思想学习录(连载之:内部类)
  8. Linux - Nginx安装
  9. Unity -- 入门教程三
  10. 无限极分类,子集跟着父集排列,用于后台显示菜单管理