Home >Backend Development >PHP Problem >How to set up PHP in Nginx server

How to set up PHP in Nginx server

PHPz
PHPzOriginal
2023-04-24 14:50:302431browse

Nginx is a high-performance web server and reverse proxy server. It is ideal for large-scale websites and applications because of its ability to handle large numbers of concurrent requests. PHP is a common server-side scripting language used to create dynamic web pages and web applications. In this article, we will cover how to set up PHP in Nginx server.

Step One: Install PHP

First, you need to install PHP and related extension modules. You can install PHP in a Linux system using a package manager such as apt-get or yum. The following is the command to install PHP on an Ubuntu system:

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;

upstream php {

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

}

server {

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是否正常工作。

总结

The above is the detailed content of How to set up PHP in Nginx server. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn