Ubuntu 下安装 Nginx ( Nginx + Php5-fpm )
nginx 的介绍我就不罗嗦了,先说下系统的安装环境。
0. 安装环境
系统:Ubuntu 14.04
PHP 版本:5.5.9
已有服务器软件:Apache (基本不影响,后文会提到)
1.安装 Nginx
sudo apt-get install nginx
#打开配置文件sudo vim /etc/nginx/sites-available/default
然后按以下两处修改(为了不和 Apache 冲突):
server { #修改这里 我将 80 改为 88 listen 88 default_server; #还有这里 同样改为你想要的监听端口 listen [::]:88 default_server ipv6only=on; .....
此时,我们测试 nginx 是否安装成功,没做上述修改的直接在浏览器输入 localhost, 改了的记得加上端口,我的是 localhost:88, 如果出现下面界面则安装成功:
2.安装 php5-fpm
同样使用 apt-get:
sudo apt-get install php5-fpm
同样打开配置文件:
#打开配置文件sudo vim /etc/nginx/sites-available/default
server { listen 88 default_server; listen [::]:88 default_server ipv6only=on; root /usr/share/nginx/html; #修改这里,在 index 后添加 index.php index index.php index.html index.htm; # Make site accessible from http://localhost/ server_name localhost; ....
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { # fastcgi_split_path_info ^(.+\.php)(/.+)$; # # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini # # # With php5-cgi alone: # fastcgi_pass 127.0.0.1:9000; # # With php5-fpm: fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; include fastcgi_params; }
#这一句虽然没必要但可以给你检查配置文件的错误sudo nginx -s reload#重启 php5-fpmsudo /etc/init.d/php5-fpm restart #重启 nginxsudo /etc/init.d/nginx restart
#修改权限sudo chmod 777 /usr/share/nginx/html/#新建测试文件vim /usr/share/nginx/html/index.php
<?phpphpinfo ();?>
问题:安装后打开网页时出现 “502 Bad Gateway”
有的同学可能按照网上某些教程安装之后,测试时显示 “502 Bad Gateway”,噢,不要紧张,因为教程是错的而已....
不少教程是比较久之前的,所以在修改配置文件时,会告诉你注释得到这三行:
location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params;}
#php5-fpm 的配置文件sudo vim /etc/php5/fpm/pool.d/www.conf
; The address on which to accept FastCGI requests.; Valid syntaxes are:; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific address on; a specific port;; 'port' - to listen on a TCP socket to all addresses on a; specific port;; '/path/to/unix/socket' - to listen on a unix socket.; Note: This value is mandatory.listen = /var/run/php5-fpm.sock
解决方法:
打开 nginx 配置文件:
#打开配置文件sudo vim /etc/nginx/sites-available/default
location ~ \.php$ { # fastcgi_pass 127.0.0.1:9000; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; include fastcgi_params; }

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Long URLs, often cluttered with keywords and tracking parameters, can deter visitors. A URL shortening script offers a solution, creating concise links ideal for social media and other platforms. These scripts are valuable for individual websites a

Laravel simplifies handling temporary session data using its intuitive flash methods. This is perfect for displaying brief messages, alerts, or notifications within your application. Data persists only for the subsequent request by default: $request-

This is the second and final part of the series on building a React application with a Laravel back-end. In the first part of the series, we created a RESTful API using Laravel for a basic product-listing application. In this tutorial, we will be dev

Laravel provides concise HTTP response simulation syntax, simplifying HTTP interaction testing. This approach significantly reduces code redundancy while making your test simulation more intuitive. The basic implementation provides a variety of response type shortcuts: use Illuminate\Support\Facades\Http; Http::fake([ 'google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

The PHP Client URL (cURL) extension is a powerful tool for developers, enabling seamless interaction with remote servers and REST APIs. By leveraging libcurl, a well-respected multi-protocol file transfer library, PHP cURL facilitates efficient execution of various network protocols, including HTTP, HTTPS, and FTP. This extension offers granular control over HTTP requests, supports multiple concurrent operations, and provides built-in security features.

Do you want to provide real-time, instant solutions to your customers' most pressing problems? Live chat lets you have real-time conversations with customers and resolve their problems instantly. It allows you to provide faster service to your custom

The 2025 PHP Landscape Survey investigates current PHP development trends. It explores framework usage, deployment methods, and challenges, aiming to provide insights for developers and businesses. The survey anticipates growth in modern PHP versio

In this article, we're going to explore the notification system in the Laravel web framework. The notification system in Laravel allows you to send notifications to users over different channels. Today, we'll discuss how you can send notifications ov
