使用的软件:putty或Xshell都可。

一、搭建Apache

1、编译安装

(1)、安装编译器

yum install -y gcc

(2)安装Opensll

查询官网得到OpenSSL下载网址https://www.openssl.org/source/openssl-1.1.1k.tar.gz

使用下面指令下载安装

wget https://www.openssl.org/source/openssl-1.1.1k.tar.gz

解压压缩包

tar -zxvf openssl-1.1.1k.tar.gz

进入解压好的文件

cd opensll-1.1.1k 

使用默认配置

./config --prefix=/usr/local/openssl
./config -t

安装opensll

make && make install 

最后检查

cd /usr/local
ldd /usr/local/opensll/bin/opensll

会出现下列信息

 (3)安装http服务

先检查是否已经安装

rpm -qa httpd

安装httpd

yum install httpd* -y 

 2、测试检验

(1)使防火墙不阻挡Apache的方法

方法一:关闭防火墙(不推荐)

查看防火墙状态

systemctl status firewalld.service            

关闭防火墙(下图成功)

systemctl stop firewalld.service

 方法二:让防火墙认可其服务和端口

firewall-cmd --add-service=http --permanent

success

使更改生效

firewall-cmd --reload

success

让防火墙认可http、https和80/tcp

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --permanent --zone=public --add-port=80/tcp

再添加一个8080/tcp端口,为后面的Nginx留一个端口。

firewall-cmd --permanent --zone=public --add-port=8080/tcp

使更改生效

 firewall-cmd --reload

查看防火墙开放的端口、服务。

 firewall-cmd --permanent --zone=public --list-ports
firewall-cmd --permanent --zone=public --list-services

(2)测试Apache

开启httpd服务

systemctl start httpd.service

查看状态

systemctl status httpd.service

最后使用浏览器搜索自己IP地址(即:http://你的IP)可以看到Apache的基本测试页面

3、关于Apache的一些基本操作设置

systemctl stop httpd.service             停止Apache服务

systemctl restart httpd.service            重启

systemctl enable httpd.service            开机启动

systemctl disable httpd.service            开机不启动

systemctl list-unit-files | grep httpd           检查Apache是否已经安装了开机自动启动

二、搭建Nginx

1、编译安装

 (1)搭建环境

安装c++编译器

yum install gcc-c++ -y 

安装PCRE pcre-devel

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

yum install -y pcre pcre-devel

zlib安装

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

yum install -y zlib zlib-devel

OpenSLL库安装

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

yum install -y openssl openssl-devel

(2)下载安装

先在官网上寻找所需要的 .tar.gz压缩包 :https://nginx.org/en/download.html (这里我下载的是nginx-1.12.2.tar.gz)

wget https://nginx.org/download/nginx-1.12.2.tar.gz

命令解压

tar -zxvf nginx-1.12.2.tar.gz

进入解压好的文件

cd nginx-1.12.2

简单配置

./configure --prefix=/usr/local/nginx --with-http_ssl_module

编译安装

make&&make install

查看安装路径

whereis nginx 

2、基本操作

先进入这个文件,每一次操作都要进入这个文件才能进行

cd /usr/local/nginx/sbin/

在进入这个文件夹后,可以进行一下操作

./nginx                开启nginx
./nginx -s stop 停止nginx
./nginx -s quit 退出nginx
./nginx -s reload 重启nginx

3、测试nginx

先修改nginx的使用端口为8080/tcp,不与Apache冲突

vim /usr/local/nginx/conf/nginx.conf

修改文件,将下面的80换成8080端口(此处已修改)

启动nginx

cd /usr/local/nginx/sbin/
./nginx

使用浏览器搜索你的IP加上端口(即:http://你的IP:8080)

三、搭建PHP

1、编译安装

先在官网上寻找所需要的 .tar.gz压缩包 :https://www.php.net/downloads(这里我下载的是php.7.4.8.tar.gz)

wget https://www.php.net/distributions/php-7.4.8.tar.gz

随后解压配置

tar -zxvf php-7.4.8.tar.gz
cd php-7.4.8/

配置

./configure --prefix=/usr/local/php -with-config-file-path=/usr/local/php/etc --enable-fpm   

重点来了:在配置PHP中往往会有许多问题导致配置失败,所以在遇到某些问题时解决它然后再次配置,注意要再次配置,直到成功!!!

下面时我查找的问题与解决办法的集合,如果遇到里面没有的请找度娘!!!

(1) configure: error: Please reinstall the BZip2 distribution

yum install bzip2 bzip2-devel

(2) configure: error: Package requirements (libcurl >= 7.15.5) were not met:No package 'libcurl' found

yum install libcurl libcurl-devel -y

(3)configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution

yum install libxslt libxslt-devel -y

(4)configure: error: Package requirements (sqlite3 > 3.7.4) were not met:

yum install sqlite-devel -y

(5)configure: error: GNU MP Library version 4.2 or greater required.

yum install gmp-devel -y  

(6)configure: error: Package requirements (oniguruma) were not met: No package 'oniguruma' found

yum install oniguruma-devel -y

(7)configure: error: Please reinstall readline - I cannot find readline.h

yum install readline-devel -y

(8)configure: error: Package requirements (libpcre2-8 >= 10.30) were not met: No package 'libpcre2-8' found

wget https://ftp.pcre.org/pub/pcre/pcre2-10.34.tar.bz2

tar xjvf pcre2-10.34.tar.bz2

cd pcre2-10.34

./configure --prefix=/usr/local/pcre2 \--enable-pcre2-16 \--enable-pcre2-32 \--enable-jit \--enable-jit-sealloc

make && make install

export PKG_CONFIG_PATH=/usr/local/pcre2/lib/pkgconfig/

cd ..

(9)configure: error: DBA: Could not find necessary header file(s).

yum install gdbm-devel -y

(10)configure: error: Package requirements (libzip >= 0.11 libzip != 1.3.1 libzip != 1.7.0) were not met:No package 'libzip' found

yum remove libzip libzip-devel

wget https://hqidi.com/big/libzip-1.2.0.tar.gz

tar -zxvf libzip-1.2.0.tar.gz

cd libzip-1.2.0

./configure

make && make install

cd ..

(11)configure: error: Package requirements (libxml-2.0 >= 2.7.6) were not met: No package 'libxml-2.0' found

yum install libxml2-devel -y

(12)configure: error: Package requirements (libpng) were not met: No package 'libpng' found

yum install libpng-devel -y

(13)configure: error: Package requirements (libjpeg) were not met:No package 'libjpeg' found

yum install libjpeg-devel -y

(14)configure: error: Package requirements (freetype2) were not met:No package 'freetype2' found

yum install freetype-devel -y

(15)configure: error: Package requirements (icu-uc >= 50.1 icu-io icu-i18n) were not met:

No package 'icu-uc' found

No package 'icu-io' found

No package 'icu-i18n' found

yum install libicu-devel -y

配置成功图

编译安装

make && make install

添加环境变量

export PATH=$PATH:/usr/local/php/bin

查看版本信息

php -v

拷贝PHP初始化配置文件

cp php.ini-development /usr/local/php/php.ini 

cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm 

cd /usr/local/php/etc 

cp php-fpm.conf.default php-fpm.conf

chmod +x /etc/init.d/php-fpm

2、配置PHP和nginx,实现Nginx转发到PHP处理

打开nginx配置文件

vim /usr/local/nginx/conf/nginx.conf

在 index.htm 后面加上 index.php

再把下面改成这样

进入编译安装的php目录并配置文件

cd /usr/local/php 

cp etc/php-fpm.d/www.conf{.default,}

创建www-data用户组

groupadd www-data

创建www-data用户

useradd -g www-data -s /sbin/nologin www-data

设置PHP www的用户和用户组为www-data(将nobody改成www-data)

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

 配置php-fpm的pid

vim etc/php-fpm.conf

将pid = 后面的地址改成这样

3、测试

rm /usr/local/nginx/html/index.html                      删除Nginx的默认首页面
echo "<?php phpinfo(); ?>" >> /usr/local/nginx/html/index.php      在Nginx的 html文件下创建并写入这个文件
/usr/local/nginx/sbin/nginx                          启动Nginx
/usr/local/php/sbin/php-fpm                           启动PHP

使用浏览器搜索你的IP加端口(即:http://你的IP:8080)

到此就结束了,本随笔只适用于学习和讨论,是小枫用于学习检查和分享的。不做其他用途!!!

谢谢大家!

安装Apache、Nginx和PHP-基于Centos7环境的更多相关文章

  1. windows下安装Apache、php、mysql集成环境

    一.准备工作 本次安装的版本分别为:apache2.4  .php5.6 . mysql5.7 下载地址为:http://pan.baidu.com/s/1boQNIOn 密码:zarx 二.安装步骤 ...

  2. SonarQube安装教程与简单使用(基于Centos7,JDK1.8)

    SonarQube 若要转载本文,请务必声明出处:https://www.cnblogs.com/zhongyuanzhao000/p/11686522.html 概念: SonarQube是一种自动 ...

  3. linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(三)

    linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(三) 安装PHP 1.yum方式安装PHP方法同安装apache一样传送门:linux cent ...

  4. 【零基础】搞定LAMP(linux、apache、mysql、php)环境安装图文教程(基于centos7)

    一.前言 LAMP即:Linux.Apache.Mysql.Php,也就是在linux系统下运行php网站代码,使用的数据库是mysql.web服务软件是apache.之所以存在LAMP这种说法,倒不 ...

  5. Linux centos7环境下安装Nginx

    Linux centos7环境下安装Nginx的步骤详解 1.    首先到Nginx官网下载Nginx安装包 http://nginx.org/download/nginx-1.5.9.tar.gz ...

  6. LANMP系列教程之Apache编译安装CentOS7环境

      1.准备好源码包并配置好yum源,需要的源码包包括:httpd-2.4.18.apr-1.5.2.tar.gz.apr-util-1.5.4.tar.gz 2.准备用户 groupadd -r a ...

  7. Nginx(一) 安装基于centos7

    1.   nginx介绍 1.1. 什么是nginx Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器.由俄罗斯的程序设计师Igor Sysoev所开 ...

  8. centos7环境下安装nginx

    安装所需环境 nginx是C语言开发,在Linux和windows环境上面都可以运行. 1.gcc安装 安装nginx需要将官网下载的代码进行编译,编译依赖gcc环境,如果没有gcc环境,需要先安装g ...

  9. Centos7 安装 apache + php7.0 环境

    安装apache rpm -qa|grep httpd   查看是否安装 yum install httpd  安装 service httpd start  启动服务 测试是否 启动       I ...

随机推荐

  1. word打印华文字体出现乱码

    乱码原因:打印机自带字体库支持的问题 解决方法:解决方法是修改打印机的设置,不使用打印机的字体,直接使用电脑的字体. 具体操作:控制面板-设备和打印机-选中要设置的打印机-打印首选项-图像品质-设置字 ...

  2. Mybatis学习之自定义持久层框架(四) 自定义持久层框架:生产sqlSession

    前言 上一回我们完成了数据库配置文件的读取和解析工作,有了这些准备工作,我们就可以与数据库创建连接和会话了,所谓sqlSession就是数据库的会话,一切增删查改操作都是在与数据库的会话中完成,下面我 ...

  3. 【Matlab】BASK的调试与解调仿真

    索引 一.BASK的调制 1.1 曼彻斯特码 1.2 增益控制 1.3 常量求和 1.4 与载波相乘 1.5 波形预览 1.6 参数设置(参考) 二.BASK的解调 2.1 滤波 2.2 信号比较 2 ...

  4. 基于Mysql的编程语言(实验六、七)

    本文参考1:MYSQL对sql的拓展 本文参考2:MySQL编程基础 本文参考3:MySql数据库编程 (侵删) 一.变量的定义 1.用户变量 set @变量名=表达式: 说明:无提前进行定义,直接用 ...

  5. 不同规模的企业对CRM的需求是否相同?

    CRM客户管理系统在我们的认知中往往是中大型企业的选择.如今,越来越多中小规模企业开始使用CRM系统.CRM的功能随着发展变得越来越实用,可以满足不同行业不同业务规模的企业的需求.同时,CRM功能类型 ...

  6. 2.HTML案例二 头条页面

    4 HTML案例-头条页面 4.1 案例效果 4.2 案例分析 4.2.1 div布局的进阶 想要将div布局成案例效果,首先需要对多个div进行区分,再分别设置每一个div自身的效果. 1)div的 ...

  7. [转载]XStar's Libvirt+KVM部署记录 目录

    XStar's Libvirt+KVM部署记录 目录 Create: 2013-12-11 Update: 2014-01-03 准备工作 KVM网站 http://sourceforge.net/p ...

  8. Linux netperf网络性能测试

    Linux netperf网络性能测试 (2013-10-14 16:07:48) 转载▼     网络性能测量的五项指标 1. 可用性(availability) 测试网络性能的第一步是确定网络是否 ...

  9. 进入单用户模式修改root密码

    进入单用户模式修改root密码 1.进入引导菜单界面2.按e进入grub,在linux或linux16那行结尾加上 rw init=/bin/bash,按Ctrl+x或F103.进入bash-4.3# ...

  10. Linux Socket编程-(转自吴秦(Tyler))

    "一切皆Socket!" 话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的socket. --有感于实际编程和开源项目研究. 我们深谙信息交流的价值,那网络中进程之间如何通信 ...