Ubuntu下Nginx、PHP的安装与配置

时间:2020-12-14 06:32:44

1. 安装Nginx

  (1)在线安装Nginx

   $ sudo apt-get install nginx

    安装成功之后,nginx放置在/etc/nginx目录下,并且已经在/etc/init.d/下创建了启动脚本;启动程序文件在/usr/sbin/nginx;日志文件放置在/var/log/nginx目录下,分别是access.log和error.log
虚拟主机配置文件放置在/etc/nginx/sites-available目录下;默认的虚拟主机的目录/usr/share/nginx/www。



  (2)启动Nginx

   $ sudo service nginx start

    打开浏览器输入localhost,如果看到“Welcome to nginx!”,则说明安装成功。


2. 安装php5-fpm

    $ apt-get install php5-fpm
    PHP5可以在nginx上通过PHP-FPM工作,PHP-FPM(FastCGI Process Manager) 是一个守护进程(init脚本文件在/etc/init.d/php5-fpm),它运行了一个FastCGI server,端口是 9000。
说明:Nginx不支持对外部程序的直接调用或解析,所有的外部程序(包括PHP)必须通过FastCGI接口调用。


3. 配置Nginx

  (1)nginx的配置文件/etc/nginx/nginx.conf

user www-data;           // 指定Nginx Worker 进程运行用户及用户组
worker_processes 4; // 指定Nginx开启的进程数,每个Nginx进程平均耗费10M-20M内存
pid /var/run/nginx.pid; // 用来指定进程id的存储文件的位置

events { //用来指定Nginx的工作模式,及连接上限数
worker_connections 768;
# multi_accept on;
}

http {
...
}

  (2)虚拟主机被定义在server{}中,默认文件/etc/nginx/sites-available/default

server {
listen 80;

root /usr/share/nginx/www;
index index.php;
server_name localhost;

location / {
try_files $uri $uri/ /index.php;
}

location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
}
}

注:安装完FPM之后查看/etc/php5/fpm/pool.d/www.conf,
查找listen的配置,如果 listen = /var/run/php5-fpm.sock,
则在你的nginx里面就用 fastcgi_pass unix:/var/run/php5-fpm.sock;否则就用fastcgi_pass 127.0.0.1:9000;

  (3)reload使配置生效

  $ sudo service nginx restart


  (4)在Nginx的默认网站根目录创建一个PHP的测试文件 vim /usr/share/nginx/www/test.php

<? php
echo 'Hello World!';
echo '<br/>';
phpinfo();
?>

  (5)打开浏览器输入http://localhost/test.php

Ubuntu下Nginx、PHP的安装与配置
大功告成Ubuntu下Nginx、PHP的安装与配置Ubuntu下Nginx、PHP的安装与配置


4. 配置PHP-FPM

修改 /etc/php5/fpm/php-fpm.conf 或在 /etc/php5/fpm/conf.d/下做更详细的配置。


5. 其他

  (1)如果您只安装PHP5-FPM,那么可以根据需求安装所需要的包

 $ sudo apt-get install php5-mysql php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

  (2)修改完php相关的文件,请重启PHP-FPM,使之生效

  $ sudo service php5-fpm restart