Table des matières
写在前面
工作环境
书面信息
安装
配置
配置文件分析
值得说明的几点
测试
Maison développement back-end Problème PHP Comment installer et configurer php nginx

Comment installer et configurer php nginx

Nov 04, 2020 am 10:17 AM
nginx php

php nginx安装配置的方法:首先找到Nginx的配置文件;然后在vim中点击“i”进入编辑模式;接着使用FastCGI协议默认配置;最后重启Nginx服务即可。

Comment installer et configurer php nginx

推荐:《PHP视频教程

写在前面

在学习搭建LNMP环境的过程中初识Nginx(读法:engine x),感觉完全复制粘贴网上的安装配置方法没有什么意义,就打算展开学习一下。

关于Windows下Nginx的安装和配置:Windows下的Nginx安装与配置(PHP)

工作环境

  • 腾讯云 1核 1GB 1Mbps 云服务器
  • CentOS 7.2 64位
  • 已经安装了PHP
  • 使用putty链接服务器

书面信息

Nginx:俄罗斯工程师Igor Sysoev开发,高性能的HTTP/反向代理/邮件服务器。

安装

CentOS下安装:

#使用yum安装,-y表示对所有的提问都回答“yes”,install为安装指令yum -y install nginx
Copier après la connexion

Comment installer et configurer php nginx

配置

Nginx的配置文件默认位置为:/etc/nginx/nginx.conf

如果说找不到可以搜索一下:

#locate 搜索文件的位置locate nginx.conf
Copier après la connexion

Comment installer et configurer php nginx

如上图,在我的环境中nginx.conf在/etc/nginx/nginx.conf

使用vim打开文件nginx.conf

vim /etc/nginx/nginx.conf
Copier après la connexion

配置文件分析

nginx.conf内容如下(只截取了没被注掉的部分):

Comment installer et configurer php nginx

# nginx运行的用户名user nginx;# nginx启动进程,通常设置成和cpu的数量相等,这里为自动worker_processes auto;# errorlog文件位置error_log /var/log/nginx/error.log;# pid文件地址,记录了nginx的pid,方便进程管理pid /run/nginx.pid;# Load dynamic modules. See /usr/share/nginx/README.dynamic.# 用来加载其他动态模块的配置include /usr/share/nginx/modules/*.conf;# 工作模式和连接数上限events {    # 每个worker_processes的最大并发链接数
    # 并发总数:worker_processes*worker_connections
    worker_connections 1024;
}# 与提供http服务相关的一些配置参数类似的还有mailhttp {    # 设置日志的格式
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';    # access_log记录访问的用户、页面、浏览器、ip和其他的访问信息
    access_log  /var/log/nginx/access.log  main;    # 这部分下面会单独解释
    # 设置nginx是否使用sendfile函数输出文件
    sendfile            on;    # 数据包最大时发包(使用Nagle算法)
    tcp_nopush          on;    # 立刻发送数据包(禁用Nagle算法)
    tcp_nodelay         on;    # 链接超时时间
    keepalive_timeout   65;    # 这个我也不清楚...
    types_hash_max_size 2048;    # 引入文件扩展名与文件类型映射表
    include             /etc/nginx/mime.types;    # 默认文件类型
    default_type        application/octet-stream;    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;    # http服务上支持若干虚拟主机。
    # 每个虚拟主机一个对应的server配置项
    # 配置项里面包含该虚拟主机相关的配置。
    server {        # 端口
        listen       80 default_server;        listen       [::]:80 default_server;        # 访问的域名
        server_name  _;        # 默认网站根目录(www目录)
        root         /usr/share/nginx/html;        # Load configuration files for the default server block.

        include /etc/nginx/default.d/*.conf;        # 默认请求
        location / {
        }        # 错误页(404)
        error_page 404 /404.html;            location = /40x.html {
        }        # 错误页(50X)
        error_page 500 502 503 504 /50x.html;            location = /50x.html {
        }
    }
}
Copier après la connexion

值得说明的几点

  1. 关于error_log 可以设置log的类型(记录什么级别的信息)有:debug、info、notice、warn、error、crit几种

  2. 关于sendfile
    一般的网络传输过程
    硬盘 >> kernel buffer >> user buffer>> kernel socket buffer >>协议栈
    使用sendfile后
    硬盘 >> kernel buffer (快速拷贝到kernelsocket buffer) >>协议栈
    可以显著提高传输性能。

  3. tcp_nopush和tcp_nodelay
    tcp_nopush只有在启用了sendfile时才起作用,
    在启用tcp_nopush后,程序接收到了数据包后不会马上发出,而是等待数据包最大时一次性发出,可以缓解网络拥堵。(Nagle化)
    相反tcp_nodelay则是立即发出数据包.

配置

分析完了配置文件后开始配置环境。

因为只是配置PHP的服务器,而且只使用一个端口所以只需要改动server部分

在vim中点击‘i’进入编辑模式。

server {        listen       80 default_server;        listen       [::]:80 default_server;        # 这里改动了,也可以写你的域名
        server_name  localhost;        root         /usr/share/nginx/html;        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;        location / {            # 这里改动了 定义首页索引文件的名称
            index index.php index.html index.htm;
        }        error_page 404 /404.html;            location = /40x.html {
        }        error_page 500 502 503 504 /50x.html;            location = /50x.html {
        }        # 这里新加的
        # PHP 脚本请求全部转发到 FastCGI处理. 使用FastCGI协议默认配置.
        # Fastcgi服务器和程序(PHP,Python)沟通的协议.
        location ~ \\.php$ {            # 设置监听端口
            fastcgi_pass   127.0.0.1:9000;            # 设置nginx的默认首页文件(上面已经设置过了,可以删除)
            fastcgi_index  index.php;            # 设置脚本文件请求的路径
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;            # 引入fastcgi的配置文件
            include        fastcgi_params;
        }
    }
Copier après la connexion

修改完成后将vim编辑器切换到一般一半模式(Esc),然后输入:wq保存退出。

之后重启Nginx服务

service nginx restart
Copier après la connexion

以上就配置成功了,但是上面的配置只是nginx配置部分,更多的内容需要继续学习。

测试

我们可以通过下面的方法判断Nginx配置是否成功。

  1. 在Nginx的网站根目录(/usr/share/nginx/html)下创建一个php文件,随便起名我的是phpinfo.php

    内容如下:

    <?php
    
        // 顺便可以看一下php的扩展全不全
        phpinfo();
    Copier après la connexion
  2. 进入你的网站看看能不能打开文件
    你的ip/文件名 例如:localhost/phpinfo.php

  3. Comment installer et configurer php nginx

    我的成功了~~

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Objectif de PHP: Construire des sites Web dynamiques Objectif de PHP: Construire des sites Web dynamiques Apr 15, 2025 am 12:18 AM

PHP est utilisé pour créer des sites Web dynamiques, et ses fonctions principales incluent: 1. Générer du contenu dynamique et générer des pages Web en temps réel en se connectant à la base de données; 2. Traiter l'interaction utilisateur et les soumissions de formulaires, vérifier les entrées et répondre aux opérations; 3. Gérer les sessions et l'authentification des utilisateurs pour offrir une expérience personnalisée; 4. Optimiser les performances et suivre les meilleures pratiques pour améliorer l'efficacité et la sécurité du site Web.

PHP et Python: exemples de code et comparaison PHP et Python: exemples de code et comparaison Apr 15, 2025 am 12:07 AM

PHP et Python ont leurs propres avantages et inconvénients, et le choix dépend des besoins du projet et des préférences personnelles. 1.Php convient au développement rapide et à la maintenance des applications Web à grande échelle. 2. Python domine le domaine de la science des données et de l'apprentissage automatique.

PHP: Gestion des bases de données et logique côté serveur PHP: Gestion des bases de données et logique côté serveur Apr 15, 2025 am 12:15 AM

PHP utilise les extensions MySQLI et PDO pour interagir dans les opérations de base de données et le traitement de la logique côté serveur, et traite la logique côté serveur via des fonctions telles que la gestion de session. 1) Utilisez MySQLI ou PDO pour vous connecter à la base de données et exécuter les requêtes SQL. 2) Gérer les demandes HTTP et l'état de l'utilisateur via la gestion de session et d'autres fonctions. 3) Utiliser les transactions pour assurer l'atomicité des opérations de base de données. 4) Empêcher l'injection de SQL, utiliser les connexions de gestion des exceptions et de clôture pour le débogage. 5) Optimiser les performances via l'indexation et le cache, écrivez du code très lisible et effectuez une gestion des erreurs.

PHP et Python: différents paradigmes expliqués PHP et Python: différents paradigmes expliqués Apr 18, 2025 am 12:26 AM

PHP est principalement la programmation procédurale, mais prend également en charge la programmation orientée objet (POO); Python prend en charge une variété de paradigmes, y compris la POO, la programmation fonctionnelle et procédurale. PHP convient au développement Web, et Python convient à une variété d'applications telles que l'analyse des données et l'apprentissage automatique.

Comment configurer le nom de domaine du serveur cloud dans nginx Comment configurer le nom de domaine du serveur cloud dans nginx Apr 14, 2025 pm 12:18 PM

Comment configurer un nom de domaine NGINX sur un serveur cloud: Créez un enregistrement A pointant vers l'adresse IP publique du serveur cloud. Ajoutez des blocs d'hôtes virtuels dans le fichier de configuration Nginx, en spécifiant le port d'écoute, le nom de domaine et le répertoire racine du site Web. Redémarrez Nginx pour appliquer les modifications. Accéder à la configuration du test de nom de domaine. Autres notes: Installez le certificat SSL pour activer HTTPS, assurez-vous que le pare-feu autorise le trafic Port 80 et attendez que la résolution DNS prenne effet.

Comment vérifier si Nginx est démarré Comment vérifier si Nginx est démarré Apr 14, 2025 pm 01:03 PM

Comment confirmer si Nginx est démarré: 1. Utilisez la ligne de commande: SystemCTl Status Nginx (Linux / Unix), netStat -ano | Findstr 80 (Windows); 2. Vérifiez si le port 80 est ouvert; 3. Vérifiez le message de démarrage NGINX dans le journal système; 4. Utilisez des outils tiers, tels que Nagios, Zabbix et Icinga.

Comment vérifier le nom du conteneur Docker Comment vérifier le nom du conteneur Docker Apr 15, 2025 pm 12:21 PM

Vous pouvez interroger le nom du conteneur Docker en suivant les étapes: répertorier tous les conteneurs (Docker PS). Filtrez la liste des conteneurs (à l'aide de la commande grep). Obtient le nom du conteneur (situé dans la colonne "Noms").

Choisir entre PHP et Python: un guide Choisir entre PHP et Python: un guide Apr 18, 2025 am 12:24 AM

PHP convient au développement Web et au prototypage rapide, et Python convient à la science des données et à l'apprentissage automatique. 1.Php est utilisé pour le développement Web dynamique, avec une syntaxe simple et adapté pour un développement rapide. 2. Python a une syntaxe concise, convient à plusieurs champs et a un écosystème de bibliothèque solide.

See all articles