Note from 2014-06-28 17:57:14.400 Ubuntu 14.04 LTS 安装 LNMP Nginx\PHP5 (PHP-FPM)\MySQL 利用http://www.linuxidc.com/Linux/2014-05/102351.htm 文档做为安装的参考文档,并录制视频来完成整个安装和测试 ============ 1 安装前的提示 修改自己的主机名 并记录下你的IP,方便后面测试使用。 另外,安装中我们使用root用户,先进行用户切换 命令:sudo su (输入密码就可以了,这样做可以减少后面安装软件时经常输入密码) 2 安装mysql 5数据库 命令是: apt-get install mysql-server mysql-client 安装过程中会访问建立root账号的密码,连续输入两次: 提示如下: New password for the MYSQL "root" user: 输入你的密码 Repeat password for the MYSQL "root" user:再输入一次 3 安装Nginx 在安装Nginx前,先检查一下是否安装了apache 2,安装了再删除,命令如下: server apache2 stop update-rc.d -f apache2 remove apt-get remove apache2 apt-get install nginx 启动nginx,service nginx start 测试是否启动成功: 在浏览器里输入 http://localhost or http://ip , 如果出现welcome to nginx! 页面就是安装成功了!!! Note:在Ubuntu 14.04中默认的根目录为 /usr/share/nginx/html 4 安装PHP 5 我们必须通过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 我们调整:工作进程数: 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端口 erver_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 如果加载失败,直接用删除所有配置内容,用上面的信息替换。 打开配置文件 /etc/php5/fpm/php.ini… vi /etc/php5/fpm/php.ini … 如下设置 cgi.fix_pathinfo=0: [...] ; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's ; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok ; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting ; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting ; of zero causes PHP to behave as before. Default is 1. You should fix your scripts ; to use SCRIPT_FILENAME rather than PATH_TRANSLATED. ; http://php.net/cgi.fix-pathinfo cgi.fix_pathinfo=0 [...] 重新加载 PHP-FPM: service php5-fpm reload 现在创建一个探针文件保存在 /usr/share/nginx/html目录下 vi /usr/share/nginx/html/info.php <?php phpinfo(); ?> 浏览器下访问探针文件 (e.g. http://localhost/info.php): 正如你看到的 PHP5 正在运行,并且是通过 FPM/FastCGI,向下滚动,我们看看那些模块已经启动,MySQL是没有列出这意味着我们没有MySQL支持PHP5。 6 下面让 PHP5 支持 MySQL 先搜索一下,看看那些模块支持: apt-cache search php5 然后使用下面的命令安装: 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 APC是一个自由和开放的PHP操作码缓存器缓存和优化PHP的中间代码。这是类似于其他PHP操作码cachers,如eAccelerator、XCache。这是强烈建议有一个安装加速你的PHP页面。 使用下面的命令安装 APC: apt-get install php-apc 现在重新加载 PHP-FPM: service php5-fpm reload 刷新 http://localhost/info.php 向下滚动看看模块是否支持: 7 让 PHP-FPM 使用 TCP 连接 默认情况下 PHP-FPM 侦听的是 /var/run/php5-fpm.sock,要让 PHP-FPM 使用 TCP 连接,需要打开编辑配置文件 /etc/php5/fpm/pool.d/www.conf… vi /etc/php5/fpm/pool.d/www.conf 按照下面的修改信息 [...] ;listen = /var/run/php5-fpm.sock listen = 127.0.0.1:9000 [...] 这将使php-fpm侦听端口9000上的IP 127.0.0.1(localhost)。确保你使用的端口不在你的系统上使用。 重新加载 PHP-FPM: service php5-fpm reload 下面通过配置 nginx 修改主机,更改这一行注释掉 fastcgi_pass unix:/var/run/php5-fpm.sock; 这一行反注释 fastcgi_pass 127.0.0.1:9000;,按照下面的设置: vi /etc/nginx/sites-available/default [...] 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; } [...] 重新加载 nginx: service nginx reload 8 CGI/Perl Scripts 如果你想 Nginx支持 CGI/Perl 脚本服务,可阅读此教程 Serving CGI Scripts With Nginx On Debian Squeeze/Ubuntu 11.04 推荐的方法是使用fcgiwrap(4章) ------------------------------- 另外收藏ubuntu 12.04 下lamp安装配置教程,这个我在32位的14.04上安装成功: 参考:http://www.linuxidc.com/Linux/2012-05/61079.htm 命令如下: 1 lamp 安装: sudo apt-get install apache2 mysql-server mysql-client php5 php5-gd php5-mysql 根目录在/var/www 修改目录权限:sudo chmod 777 /var/www/ 2 phpmyadmin 安装: sudo apt-get install phpmyadmin 安装过程中web server:apache2 配置密码 建立与apache2的连接: sudo ln -s /usr/share/phpmyadmin /var/www 测试:http://localhost/phpmyadmin 3 Apache 配置: 启用mod_rewirte模块: sudo a2enmod rewrite 重启:sudo /etc/init.d/apache2 restart 测试:test.php 内容如下: <?php $link=mysql_connect("localhost","root","mysql_password"); if(!$link){ die('could not connect:',mysql_error()); } else echo "mysql已经正确配置"; mysql_close($link); ?> 测试时出现中文乱码解决方法如下: sudo gedit /etc/apache2/apache2.conf 在最后添加: addDefaultCharset UTF-8 保存,并重启apache 就可以了 =========================== Ubuntu+Nginx+Mysql+Php(ubuntu 12.04) 来自:http://forum.ubuntu.org.cn/viewtopic.php?f=54&t=241301&sid=65af77cf69180787da232f3343ca2fb8 ------------------- 由于最新的php集成了fpm,ubuntu12.04及以上版本安装更简单了,安装过程如下: 1、安装网站系统 代码: sudo apt-get install nginx php5-common php5-fpm php-apc php5-mysql php5-gd mysql-server 2、修改nginx配置文件 代码: sudo vi /etc/nginx/sites-enabled/default 把其中的: 代码: location / { root /var/www; index index.html index.htm; } 改为: 代码: location / { root /var/www/nginx-default; index index.php index.html index.htm; } 其中的: 代码: #location ~ \.php$ { # fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # include fastcgi_params; #} 改为: 代码: location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/nginx-default$fastcgi_script_name; include fastcgi_params; } 3、重启系统、上传文件,网站建立成功!试试吧! 附:系统及部分软件管理操作 1、操作系统: 代码: sudo reboot now //重启系统 sudo halt //关闭系统 2、nginx配置修改及生效: 代码: sudo vi /etc/nginx/nginx.conf //修改配置 sudo vi /etc/nginx/sites-enabled/default //修改配置 sudo service nginx restart //重启nginx 3、php配置修改及生效: 代码: sudo vi /etc/php5/fpm/php.ini //修改配置 sudo service php5-fpm restart //重启fastcgi进程 3、网站目录: 代码: /var/www/nginx-default ===============================
本文转自孤舟夜航之家博客51CTO博客,原文链接http://blog.51cto.com/cysky/1432038如需转载请自行联系原作者
cysky