falldog 发表于 2015-11-16 12:32:42

ubuntu下LNMP环境的搭建 (简单apt-get install方式)

LNMP环境搭建
  软件环境:Ubuntu12.04 虚拟机
  第一次用这个框架做开发,还不熟悉,所以还是折腾了不少时间。不过最终还是好了,谢天谢地!
  
  之前通过网上查到的资料,利用离线包的方式编译安装,成功安装了Nginx,启动测试可以通过浏览器打开默认的html页面。Mysql通过apt-get命令安装,但是安装了mysql-server,Php5通过离线包安装之后,也许因为版本,和网络先关教程内容不一样。在Nginx配置php相关设置时失败。
  
  思考:参考的资料版本不一致,与实际搭建的环境有出入。
  
再次尝试
  抛弃离线安装包编译配置的方式,采用apt-get命令进行相关安装。
  1.      删除旧文件
  删除之前没有配置成功的PHP5和Nginx相关文件。
  
  2.      安装Nginx。
  sudo apt-getinstall nginx
  启动:sudo/etc/init.d/nginx start
  查看状态,Nginx是否启动成功。

  
  3.      安装php5
  sudo apt-get install php5 php5-fpm php5-cli php5-cgi php5-mysql
  4.      修改mysql用户权限
  
  5.      修改mysql下配置文件
  sudo gedit/etc/mysql/my.cnf
  注释掉bind-address =127.0.0.1,这样可以远程连接数据库。
  6.      配置并重启Nginx
  编辑 /etc/nginx/sites-enabled/default文件。修改如下内容
  


  启动fastcgi php
  
  7.      写测试index.php文件测试
  <?php
  phpinfo();
  ?>
  结果出现502 bad gateway错误!配置文件出问题了。
  经过排查,重要发现了问题的所在。通过前面对Nginx中default文件的配置,fastcgi_pass 配置的是php5-fpm.sock.但是在/etc/php5/fpm/pool.d/www.conf中监听的配置语句是
  listen = 127.0.0.1:9000
  那么对比Nginx中default文件中fastcgi_pass的配置显然是不对应的。因此修改default文件
  


  然后重新打开浏览器,输入192.168.1.33/index.php
  成功显示php的配置信息。
  

  8.测试数据库连接。
  安装php5-xdebug扩展功能。
  sudoapt-get install php5-xdebug
  修改配置文件:
  sudovim /etc/php5/fpm/php.ini
  将display_errors和html_errors都改为on。然后重启php服务。
        sudo /etc/init.d/php5-fpm restart
  编写mysql的测试网页sqltest.php,内容如下:
  <?php
  $link= mysql_connect(“localhost”,”root”,”root”);
  If(!$link)echo “failed.”;
  Elseecho “Okay”;
  ?>
  打开浏览器,输入地址访问网页


  
  失败了,错误为未定义的函数名。
  经搜索分析应该是php没有配置mysql的扩展模块。在php.ini追加上extension=/usr/lib/php5/20090626&#43;lfs/mysql.so,再次尝试。


  
  在浏览器中刷新刚才的地址,可以成功连接到数据库了。
  
  

数据库测试
  打开终端,mysql –u root –p进入mysql,然后创建数据库sensers
  Create database sensers;
  选择数据库:use senserss
  创建表:
  
  mysql> create table senser
  -> (
  -> senser_id mediumint unsigned not null,
  -> senser_name varchar(20),
  -> tempture mediumint unsigned,
  -> wet mediumint unsigned,
  -> primary key(senser_id)
  -> );
  Query OK, 0 rows affected (0.14 sec)
  
  
  
  修改sqlphp.php文件
  <?php
  
  echo &quot;testing Mysql ... ...&quot;;
  
  $link=mysql_connect(&quot;localhost&quot;,&quot;root&quot;,&quot;root&quot;);
  if(!$link) echo &quot;Failed connect toDatabase.&quot;;
  else echo &quot; Connect success!&quot;;
  
  mysql_select_db(&quot;sensers&quot;,$link);
  
  $sql = &quot;select * from senser&quot;;
  $query = mysql_query($sql);
  $str = &quot;<table>&quot;;
  $str.=&quot;<tr>&quot;;
  $str.=&quot;<td>senser_id</td><td>senser_name</td><td>temperature</td><td>wet</td>&quot;;
  $str.=&quot;</tr>&quot;;
  
  while($row = mysql_fetch_array($query)){
  $str.=&quot;<tr>&quot;;
  $str.=&quot;<td>&quot;.$row['senser_id'].&quot;</td>&quot;;
  $str.=&quot;<td>&quot;.$row['senser_name'].&quot;</td>&quot;;
  $str.=&quot;<td>&quot;.$row['tempture'].&quot;</td>&quot;;
  $str.=&quot;<td>&quot;.$row['wet'].&quot;</td>&quot;;
  $str.=&quot;</tr>&quot;;
  }
  $str.=&quot;</table>&quot;;
  
  打开浏览器再次测试:


  
         版权声明:本文为博主原创文章,未经博主允许不得转载。
页: [1]
查看完整版本: ubuntu下LNMP环境的搭建 (简单apt-get install方式)