安装nginx
安装nginx的命令:
sudo apt-get install nginx
启动nginx:
sudo service nginx start
打开浏览器,输入localhost地址,如下显示,nginx启动成功。
安装php
安装命令
sudo apt-get install php5-fpm
若安装失败,用“sudo apt-cache search php”查询软件仓库中的php版本号,然后再"sudo apt-get install php-查询到的版本号 " 进行安装。
修改nginx的配置文件(/etc/nginx/sites-available/default),让nginx支持php。这里选择nginx与php通信方式是tcp连接。另外修改nginx的主目录,nginx配置文件默认的是/var/www/html,这里改为/var/www。具体相关配置参见下图。
修改好nginx的配置文件,执行sudo service nginx reload重新加载配置文件。
由于上面在nginx配置文件中nginx与php的通信方式选择的是tcp连接,所以也需要修改php5-fpm的配置文件(/etc/php5/fpm/pool.d/www.conf),具体配置见下图。
listen =127.0.0.1:9000表示php5-fpm在9000端口监听连接请求,9000是默认端口。
接下来启动php5-fpm,使用如下命令:
sudo service php5-fpm start
这个地方会出现502:Bad gateway 原因:PHP与nginx没有连接上
解决方案:sudo service php7.0-fpm reload
下面就来验证nginx是否支持php了。在/var/www/目录下创建一个文件test.php,内容如下:
echo phpinfo();
?>
打开浏览器,输入地址:localhost/test.php,显示如下:
说明nginx可以成功运行php了。
下面来安装mysql。
安装mysql
安装命令
sudo apt-get install mysql-server mysql-client
安装过程中会提示输入root用户密码。
下面测试php是否可以连接mysql数据库了。在/var/www/目录下创建一个文件mysql.php,内容如下:
//连接mysql
$con = mysql_connect( "localhost", "root", "****" );
if ( ! $con ) {
echo 'Could not connect: ' . mysql_error();
die();
}
//创建一个数据库test
if( mysql_query( 'create database test' , $con ) ) {
echo 'Database created! ';
} else {
echo 'Database created error : ' . mysql_error();
}
mysql_close( $con );
打开浏览器,输入地址:localhost/mysql.php,发现没有任何输出。打开浏览器调试器查看请求,发现服务器返回500。
这是因为上面我们只安装mysql,并没有安装php的mysql扩展,下面来安装mysql扩展。
首先搜索一下mysql的扩展安装包有哪些。
apt-cache search php5-mysql
我们安装第一个,使用下面命令:
sudo apt-get install php5-mysql
安装完成后,输入sudo service php5-fpm restart命令重启php-fpm。
修改php.ini配置文件,改display_error=On, error_reporting = E_ALL|E_STRICT
天用了PHP7,发现和PHP5变化还挺大的,最大的就是MySQL的连接库变了。
PHP5中使用mysql_connect()函数进行连接,但实际上,PHP5.5开始,MySQL就不推荐使用了,属于废弃函数
PHP7中貌似已经彻底不支持了,根据官网说明,取而代之的是如下两个:
本扩展自 PHP 5.5.0 起已废弃,并在将来会被移除。应使用 MySQLi 或 PDO_MySQL 扩展来替换之。参见 MySQL:选择 API 指南以及相关 FAQ 以获取更多信息。用以替代本函数的有:
使用时,不要在使用mysql_connect了,可以换用mysqli_connect(),用法基本类似吧,据说是面向对象的库。
然后打开浏览器输入地址:localhost/mysql.php,结果如下所示:
命令行登入数据库,查看数据库,发现已经创建。
至此,我们已经安装好LNMP了。