Ubuntu 14.04 LTS 安装 LNMP Nginx\PHP5 (PHP-FPM)\MySQL

来源:互联网 发布:html开心农场源码 编辑:程序博客网 时间:2024/05/16 05:37

1 安装前提示

本文采用的主机名称: server1.example.com ,IP地址: 192.168.0.100。可能与你的主机有所不同,自行修改。

安装中我们使用root账户,先进行用户切换:

sudo su

2 安装 MySQL 5 数据库

安装 MySQL 运行命令:

apt-get install mysql-server mysql-client

安装过程中会询问建立 Root 账户密码,连续输入两次:

New password for the MySQL “root” user: <– 输入你的密码
Repeat password for the MySQL “root” user: <– 再输入一次

Mysqlpasswd

3 安装 Nginx

在安装 Nginx 之前,如果你已经安装 Apache2 先删除在安装 nginx:

service apache2 stop
update-rc.d -f apache2 remove
apt-get remove apache2

apt-get install nginx

启动 nginx 服务:

service nginx start

试试安装是否成功,在浏览器输入IP或主机地址 (e.g. http://192.168.0.100),如下图所示,说明安装成功:

在 Ubuntu 14.04 中默认的根目录为 /usr/share/nginx/html.

4 安装 PHP5

我们必须通过 PHP-FPM 才能让PHP5正常工作,安装命令:

apt-get install php5-fpm

php-fpm是一个守护进程。

5 配置 nginx

使用Vi打开配置文件/etc/nginx/nginx.conf :

vi /etc/nginx/nginx.conf

配置不是很容易明白,可以参考: http://wiki.nginx.org/NginxFullExample和 http://wiki.nginx.org/NginxFullExample2

我们需要调整工作进程数设置,如下面的值设置:

[...]worker_processes  4;[...]    keepalive_timeout   2;[...]

默认虚拟主机设置文件 /etc/nginx/sites-available/default 按如下设置:

vi /etc/nginx/sites-available/default

[...]server {        listen 80;        listen [::]:80 default_server ipv6only=on;        root /usr/share/nginx/html;        index index.php index.html index.htm;        # Make site accessible from http://localhost/        server_name _;        location / {                # First attempt to serve request as file, then                # as directory, then fall back to displaying a 404.                try_files $uri $uri/ /index.html;                # Uncomment to enable naxsi on this location                # include /etc/nginx/naxsi.rules        }        location /doc/ {                alias /usr/share/doc/;                autoindex on;                allow 127.0.0.1;                allow ::1;                deny all;        }        # Only for nginx-naxsi used with nginx-naxsi-ui : process denied requests        #location /RequestDenied {        #       proxy_pass http://127.0.0.1:8080;        #}        #error_page 404 /404.html;        # redirect server error pages to the static page /50x.html        #        error_page 500 502 503 504 /50x.html;        location = /50x.html {                root /usr/share/nginx/html;        }        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000        #        location ~ .php$ {                try_files $uri =404;                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;        }        # deny access to .htaccess files, if Apache's document root        # concurs with nginx's one        #        location ~ /.ht {                deny all;        }}[...]

取消同时侦听 IPv4 和 IPv6 的80端口。

server_name _; 默认主机名 (当然你可以修改,例如修改为: www.example.com).

index主页这一行我们加入 index.php。

PHP 重要配置配置 location ~ .php$ {} 这几行我们需要启动,反注释掉。另外再添加一行:try_files $uri =404。

(其他配置查看http://wiki.nginx.org/Pitfalls#Passing_Uncontrolled_Requests_to_PHP 和 http://forum.nginx.org/read.php?2,88845,page=3).

保存文件并重新加载 nginx 命令:

service nginx reload

如果加载失败,直接用删除所有配置内容,用上面的信息替换。

0 0
原创粉丝点击