Linux安装配置nginx+php搭建

news2024/11/26 3:52:13

Linux安装配置nginx+php搭建

文章目录

    • Linux安装配置nginx+php搭建
      • 1.nginx源码包编译环境和安装相应的依赖
        • 1.1 安装编译环境
        • 1.2 安装pcre库、zlib库和openssl库
      • 2.安装nginx
        • 2.1 在[nginx官网](https://nginx.org/en/download.html)上获取源码包并进行下载
        • 2.2 进行解压编译
      • 3.启动nginx服务
        • 3.1 运行nginx
        • 3.2 关闭防火墙
        • 3.3 用本地浏览器服务虚拟机地址
      • 4.修改nginx配置文件创建新的端口页面
      • 5.安装php
        • 5.1 使用yum安装php-fpm
        • 5.2 修改php的配置文件
        • 5.3 修改nginx的配置文件
        • 5.4 创建php页面文件并查看测试

1.nginx源码包编译环境和安装相应的依赖

1.1 安装编译环境

#安装编译环境
[root@localhost /]# yum install -y gcc gcc-c++

1.2 安装pcre库、zlib库和openssl库

  • pcre(Perl Compatible Regular Expressions)是一个Perl库,是一个用C语言编写的正则表达式的函数库,是轻量级的函数库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库

  • zlib是一套通用的解压缩开源库,提供了内存(in-memory)压缩和解压函数,能检测解压出来的数据完整性。nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。

  • openssl,即open secure sockets layer,是一个开源的安全套接字层的密码库。包括常用的密码加解密算法、常用的密钥算法、证书管理和SSL协议。nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。

#安装pcre库
[root@localhost /]# yum install -y pcre pcre-devel

#安装zlib库
[root@localhost /]# yum install -y zlib zlib-devel

#安装openssl库
[root@localhost /]# yum install -y openssl-devel

2.安装nginx

2.1 在nginx官网上获取源码包并进行下载

在这里插入图片描述

[root@localhost /]# mkdir nginxfile
[root@localhost /]# cd nginxfile/

#下载nginx源码包
[root@localhost nginxfile]# wget https://nginx.org/download/nginx-1.24.0.tar.gz

2.2 进行解压编译

#解压源码包
[root@localhost nginxfile]# tar -zxvf nginx-1.24.0.tar.gz

#编译配置
[root@localhost nginxfile]# cd nginx-1.24.0/
[root@localhost nginx-1.24.0]# ./configure --with-http_ssl_module
[root@localhost nginx-1.24.0]# ./configure --with-stream
[root@localhost nginx-1.24.0]# ./configure

#执行安装
[root@localhost nginx-1.24.0]# make && make install

3.启动nginx服务

3.1 运行nginx

进入到/usr/local/sbin的目录下执行./nginx命令

[root@localhost nginx-1.24.0]# cd /usr/local/nginx/sbin/
[root@localhost sbin]# ls
nginx

#执行nginx
[root@localhost sbin]# ./nginx 

#查看nginx的进程开启情况
[root@localhost sbin]# ps -aux | grep nginx
root       72876  0.0  0.0  34444   384 ?        Ss   21:27   0:00 nginx: master process ./nginx
nobody     72877  0.0  0.2  66624  3932 ?        S    21:27   0:00 nginx: worker process
root       72887  0.0  0.0  12136  1120 pts/2    R+   21:28   0:00 grep --color=auto nginx

3.2 关闭防火墙

关闭防火墙防止本地主机访问时被拦截

[root@localhost sbin]# systemctl stop firewalld.service
[root@localhost sbin]# systemctl status firewalld.service

3.3 用本地浏览器服务虚拟机地址

出现welcome to nginx页面代表nginx安装启动完成

在这里插入图片描述

4.修改nginx配置文件创建新的端口页面

cd到/usr/local/nginx/html的路径下,创建一个新的后缀为.html的文件

[root@localhost html]# touch web.html

#在文件中编写新的网页
[root@localhost html]# vim web.html
<!DOCTYPE html>
<html>
<head>
<title>Hello World</title>
<style>
html { color-scheme: light dark; }
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
</style>
</head>
<body>
<h1>Hello world</h1>
</body>
</html>

cd到/usr/local/nginx/conf的目录下,修改配置文件,添加以下配置

[root@localhost conf]# vim nginx.conf
    server {
        listen       8080;  #浏览器访问虚拟机的8080端口时显示该页面
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / { 
            root   html;
            index  web.html index.htm; #访问8080端口时定位到web.html文件
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
        
#停止nginx服务
[root@localhost sbin]# cd /usr/local/nginx/sbin/
[root@localhost sbin]# ./nginx -s stop

#重新启动nginx服务
[root@localhost sbin]# ./nginx

使用本地浏览器访问8080端口查看新建页面

在这里插入图片描述

5.安装php

5.1 使用yum安装php-fpm

#因为源码安装的方式会需要搭载很多的依赖包,安装编译过程也比较的繁琐,所以这里采用yum源安装途径,yum仓库安装的方法比源码包安装更加的简洁快速
[root@localhost /]# yum -y install php-fpm	

#启动php-fpm服务
[root@localhost /]# systemctl start php-fpm
[root@localhost /]# systemctl status php-fpm
● php-fpm.service - The PHP FastCGI Process Manager
   Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; disabled; vendor preset:>   Active: active (running) since Tue 2023-08-08 14:29:59 CST; 22s ago

5.2 修改php的配置文件

#定位到php-fpm的文件下
[root@localhost /]# cd /etc/php-fpm.d/

#修改www.conf文件内容
[root@localhost php-fpm.d]# vim www.conf

在www.conf文件下注释掉listen = /run/php-fpm/www.sock这段内容,添加listen = 127.0.0.1:9000

在这里插入图片描述

5.3 修改nginx的配置文件

#定位到nginx/conf文件下
[root@localhost nginx]# cd /usr/local/nginx/conf/

#修改nginx.conf文件内容
[root@localhost conf]# vim nginx.conf

取消掉serverlocation ~ \.php$内容中的注释

在这里插入图片描述

将刚刚取消注释的location ~ \.php$fastcgi_param SCRIPT_FILENAME内容后面的/scripts$fastcgi_script_name修改为$document_root$fastcgi_script_name

在这里插入图片描述

server的第一段location /内容下的index后面添加web.php文件名(用于定位到后面即将创建的php页面文件)

在这里插入图片描述

5.4 创建php页面文件并查看测试

#定位到nginx/html文件下
[root@localhost nginx]# cd /usr/local/nginx/html/

#创建web.php页面文件
[root@localhost html]# vim web.php
<?php
phpinfo();
?>

所有的文件配置完毕后需要重启php-fpm服务和nginx

#重启php-fpm服务
[root@localhost html]# systemctl restart php-fpm
[root@localhost html]# systemctl status php-fpm
● php-fpm.service - The PHP FastCGI Process Manager
   Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; disabled; vendor preset:>   Active: active (running) since Tue 2023-08-08 15:02:04 CST; 7s ago
 Main PID: 76438 (php-fpm)
 
#重启nginx
#定位到nginx/sbin文件路径下
[root@localhost html]# cd /usr/local/nginx/sbin/
 
#停止nginx
[root@localhost sbin]# ./nginx -s stop
#重新启动nginx
[root@localhost sbin]# ./nginx

#查看开启情况
[root@localhost sbin]# ps -aux | grep nginx 
root       76473  0.0  0.0  34444   440 ?        Ss   15:03   0:00 nginx: master process ./nginx
nobody     76474  0.0  0.2  66564  4172 ?        S    15:03   0:00 nginx: worker process
root       76503  0.0  0.0  12136  1192 pts/1    R+   15:04   0:00 grep --color=auto nginx

在本地浏览器访问web.php页面

在这里插入图片描述
注意:如果访问不成功可以检查一下防火墙是否关闭

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/848081.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

uboot详解

uboot入口 在PC机上引导程序一般由BIOS开始执行&#xff0c;然后读取硬盘中位于MBR(Main Boot Record&#xff0c;主引导记录)中的Bootloader(例如LILO或GRUB),并进一步引导操作系统的启动。然而在嵌入式系统中通常没有像BIOS那样的固件程序&#xff0c;因此整个系统的加载启动…

mybatis打印sql语句出现多余的limit关键字

1、事情起因 在项目中使用了PageHelper分页插件&#xff0c;由于需求特殊&#xff0c;需要自定义分页&#xff0c;代码编写完成后&#xff0c;事故出现了。 前端传参: {pageNum: 1,pageSize: 10, }已知表中数据10条&#xff0c;但是每次分页查询只有10条数据&#xff0c;排查…

第17章-Spring AOP经典应用场景

文章目录 一、日志处理二、事务控制三、参数校验四、自定义注解五、AOP 方法失效问题1. ApplicationContext2. AopContext3. 注入自身 六、附录1. 示例代码 AOP 提供了一种面向切面操作的扩展机制&#xff0c;通常这些操作是与业务无关的&#xff0c;在实际应用中&#xff0c;可…

5. C++类的封装

一、类的封装 封装的含义&#xff1a; 所有属性都是私有的&#xff0c;外部不能直接访问提供与属性相关的成员函数&#xff0c;间接访问属性 模板代码&#xff1a; #include <iostream> using namespace std;class Clock { private:int hour, minute, second; public…

《UNIX 传奇:历史与回忆》读后感

《UNIX 传奇&#xff1a;历史与回忆》 是 bwk&#xff08;Brian W. Kernighan&#xff09;2019 年的新作&#xff0c;回忆了 UNIX 在大半个世纪的风雨历程&#xff0c;是一本引人入胜的书籍。通过对 UNIX 操作系统的历史和发展进行详细的叙述和回顾&#xff0c;让我对这个操作系…

浅析基于安防监控EasyCVR视频汇聚融合技术的运输管理系统

一、项目背景 近年来&#xff0c;随着物流行业迅速发展&#xff0c;物流运输费用高、运输过程不透明、货损货差率高、供应链协同能力差等问题不断涌现&#xff0c;严重影响了物流作业效率&#xff0c;市场对于运输管理数字化需求愈发迫切。当前运输行业存在的难题如下&#xf…

Java volatile关键字分析

每个线程创建时&#xff0c;JVM会为其创建一份私有的工作内存&#xff08;栈空间&#xff09;&#xff0c;不同线程的工作内存之间不能直接互相访问 JMM规定所有的变量都存在主内存&#xff0c;主内存是共享内存区域&#xff0c;所有线程都可以访问 线程对变量进行读写&#xf…

计算机组成原理-笔记-第三章

目录 计算机组成原理——第三章——存储系统 1、基本概念 &#xff08;1&#xff09;分类 &#xff08;2&#xff09;总结 2、主存储器&#xff08;基本原理&#xff09; &#xff08;1&#xff09;译码器、控制电路、存储单元 &#xff08;容量计算&#xff09; &…

匈牙利算法详解

匈牙利算法(Hungarian Algorithm)是一种组合优化算法(combinatorial optimization algorithm)&#xff0c;用于求解指派问题(assignment problem)&#xff0c;算法时间复杂度为O(N^3)。Harold Kuhn发表于1955年&#xff0c;由于该算法基于两位匈牙利数学家的早期研究成果&#…

数字IC流片经历有多重要?怎样才能有流片机会?

都说拥有流片经验可以显示你在实际项目中的实践能力和对整个设计流程的了解程度&#xff0c;流片经历的重要性不言而喻。 什么是芯片流片 像流水线一样通过一系列工艺步骤制造芯片&#xff0c;这就是流片。在芯片制造过程中一般有两段时间可以叫作流片。 流片&#xff1a;英…

分布式测试插件 pytest-xdist 使用详解

目录 使用背景&#xff1a; 使用前提&#xff1a; 使用快速入门&#xff1a; 使用小结&#xff1a; 使用背景&#xff1a; 大型测试套件&#xff1a;当你的测试套件非常庞大&#xff0c;包含了大量的测试用例时&#xff0c;pytest-xdist可以通过并行执行来加速整体的测试过…

Unity数字可视化学校_昼夜(二)

1、时间设置&#xff1a; 2、新建夜晚 3、新建侧置球&#xff08;BOX&#xff09;,测试灯光强度 降低亮度 色调&#xff1a;冷色调 4、自发光 新建shader 灯光控制 道路线&#xff1a; 建筑&#xff1a; 夜晚加灯光&#xff1a; 玻璃&#xff1a; 加大灯光数量&#xff1a; 边缘…

深入理解负载均衡原理及算法

1. 前言 在互联网早期,网络还不是很发达,上网用户少,流量相对较小,系统架构以单体架构为主。但如今在互联网发达的今天,流量请求动辄百亿、甚至上千亿,单台服务器或者实例已完全不能满足需求,这就有了集群。不论是为了实现高可用还是高性能,都需要用到多台机器来扩展服…

校对软件助力司法公正:确保法律文书准确无误

校对软件在司法系统中的应用可以助力司法公正&#xff0c;确保法律文书的准确性和无误性。以下是校对软件如何发挥作用&#xff1a; 1.确保准确性&#xff1a;校对软件可以自动检查法律文书中的语法、拼写和标点等方面的错误。通过及时发现和修正这些错误&#xff0c;可以确保文…

自监督去噪:Recorrupted-to-Recorrupted原理分析与总结

文章目录 1. 方法原理1.1 相关研究1.2 研究思路1.3 小结 2. 实验结果3. 总结 文章地址: https://ieeexplore.ieee.org/document/9577798/footnotes#footnotes 参考博客: https://github.com/PangTongyao/Recorrupted-to-Recorrupted-Unsupervised-Deep-Learning-for-Image-Den…

C++如何改变文字的颜色(不同字显示不同颜色)

许多同学们在制作c游戏的时候只有黑白两种颜色。就像si人了一样 非常影响视觉效果&#xff0c;显得十分不好看&#xff0c;因此&#xff0c;我决定发一个改变文字颜色的文章&#xff01; 下面介绍方法&#xff1a; 在了解程序之前&#xff0c;首先好了解光的三原色已经三原色…

数据结构刷题训练——链表篇(三)

目录 文章目录 前言 1. 题目一&#xff1a;环形链表Ⅱ 1.1 思路 1.2 分析 1.3 题解 1.4 方法二 2. 题目二&#xff1a;复制带随机指针的链表 2.1 思路 2.2 分析 2.3 题解 总结 前言 在这个专栏博客中&#xff0c;我们将提供丰富的题目资源和解题思路&#xff0c;帮助读者逐步提…

浅谈智能配电房在海岛中的应用

安科瑞 华楠 摘要&#xff1a;以海陵岛旅游区海岛智能配电房设计方案为研究对象,从功能设计、逻辑设计和拓扑设计三方面进行 分析,得出契合海陵岛实际和海岛特点的智能配电房方案设计。通过对设计方案研究,总结提炼了海岛智 能配电房组成要素,为进一步提炼统一规范的智能配电房…

【深度学习】【风格迁移】Zero-shot Image-to-Image Translation

论文&#xff1a;https://arxiv.org/abs/2302.03027 代码&#xff1a;https://github.com/pix2pixzero/pix2pix-zero/tree/main 文章目录 Abstract1. Introduction相关工作3. Method Abstract 大规模文本到图像生成模型展示了它们合成多样且高质量图像的显著能力。然而&#x…

【网络编程】实现一个简单多线程版本TCP服务器(附源码)

TCP多线程 &#x1f335;预备知识&#x1f384; Accept函数&#x1f332;字节序转换函数&#x1f333;listen函数 &#x1f334;代码&#x1f331;Log.hpp&#x1f33f;Makefile☘️TCPClient.cc&#x1f340;TCPServer.cc&#x1f38d; util.hpp &#x1f335;预备知识 &…