>백엔드 개발 >PHP 문제 >Nginx 서버에서 PHP를 설정하는 방법

Nginx 서버에서 PHP를 설정하는 방법

PHPz
PHPz원래의
2023-04-24 14:50:302430검색

Nginx는 고성능 웹 서버이자 역방향 프록시 서버입니다. 많은 수의 동시 요청을 처리할 수 있기 때문에 대규모 웹사이트 및 애플리케이션에 이상적입니다. PHP는 동적 웹 페이지와 웹 애플리케이션을 만드는 데 사용되는 일반적인 서버 측 스크립팅 언어입니다. 이번 글에서는 Nginx 서버에서 PHP를 설정하는 방법을 다루겠습니다.

1단계: PHP 설치

먼저 PHP 및 관련 확장 모듈을 설치해야 합니다. apt-get 또는 yum과 같은 패키지 관리자를 사용하여 Linux 시스템에 PHP를 설치할 수 있습니다. 다음은 Ubuntu 시스템에 PHP를 설치하는 명령입니다:

sudo apt-get install php-fpm php-mysql```

这将安装PHP-FPM(FastCGI进程管理器)和PHP MySQL扩展模块。如果您需要安装其他扩展模块,可以使用apt-get或yum命令进行安装。

第二步:配置Nginx

接下来,您需要配置Nginx以使用PHP-FPM处理PHP文件。您可以编辑Nginx配置文件并添加一些行来完成此操作。以下是默认的Nginx配置文件:

user www-data;
worker_processes auto;
pid /run/nginx.pid;

events {
worker_connections 768;
}

http {
sendfile on ;

업스트림 PHP {

server unix:/run/php/php7.0-fpm.sock;

}

서버 {

listen 80;
server_name example.com;
root /var/www/html;
index index.php index.html index.htm;

location / {
  try_files $uri $uri/ =404;
}

location ~ \.php$ {
  try_files $uri =404;
  fastcgi_pass php;
  fastcgi_index index.php;
  fastcgi_param PATH_INFO $fastcgi_path_info;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  include fastcgi_params;
}

}
}

以下是对各项配置的解释:

- user:指定运行Nginx进程的用户。
- worker_processes:指定Nginx使用的工作进程数量。这通常设置为CPU核数。
- pid:指定Nginx进程PID文件的位置。
- events:定义Nginx如何处理事件,例如连接和请求。
- http:定义HTTP配置选项。
- sendfile:启用或禁用sendfile系统调用来提高传输速度。
- upstream:将PHP-FPM作为代理服务器。
- server:定义一个虚拟服务器块。
- listen:指定Nginx监听的端口。
- server_name:指定服务器的名称。
- root:指定服务器上的网站根目录。
- index:定义文件索引列表。
- location:定义服务器块中的位置。
- try_files:定义如何尝试访问文件。
- fastcgi_pass:将请求发送到PHP-FPM进程。
- fastcgi_index:定义默认的FastCGI索引文件名。
- fastcgi_param:定义FastCGI进程的参数。
- include:包含其他文件的配置选项。

第三步:启动服务

现在您已经完成了PHP和Nginx的设置,可以启动它们并尝试运行PHP脚本。使用以下命令启动PHP-FPM:

```sudo systemctl start php7.0-fpm```

使用以下命令启动Nginx:

```sudo systemctl start nginx```

您可以在Web浏览器中输入服务器的IP地址或域名,并访问带有.php扩展名的文件来测试PHP和Nginx是否正常工作。

总结

위 내용은 Nginx 서버에서 PHP를 설정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.