Ubuntu下搭建LNMP本地开发环境

Ubuntu 16.04 下快速搭建 LNMP环境

在 Ubuntu 系统中,可以使用 apt 命令来搭建 LNMP环境。这种方式较编译方式安装更加简便,因此选择使用该方式来搭建环境以供学习。

系统:Ubuntu 16.04 机器:Mac + Vagrant

一、安装Nginx

首先,安装nginx,

sudo -i #切换超级用户权限 
apt update  #命令更新源列表
apt install nginx #安装 Nginx

然后,启动 Nginx服务,使用下面两个命令任意一个即可:

/etc/init.d/nginx start
service nginx start

最后,使用 netstat -anp 则可以看到80端口已经处于 LISTEN状态了。
直接查看80端口可以使用命令:sudo lsof -i :80
在浏览器输入本地IP(vagrant:192.168.33.10)后,就可以看见 Nginx的欢迎页面了。

##二、安装 PHP 7.2 与 PHP7.2-FPM

apt install php7.2 php7.2-fpm #PHP版本可以自主选择,在后面对应即可

可以使用 php -v 命令来查看 PHP 版本信息。

三、Nginx 与 PHP-FPM集成

PHP-FPM 与 Nginx 通信方式有两种,一种是基于TCP的 Internet domain socket 方式,一种是 UNIX domain socket 方式。
UNIX domain socket 可以使同一台操作系统上的两个或多个进程进行数据通信。UNIX domain socket 的接口和 Internet domain socket 很像,但它不使用网络底层协议来通信。
服务器压力不大的情况下,这两种方式性能差别不大,但在压力比较满的时候,用UNIX domain socket方式,效果确实比较好

UNIX domain socket 方式:
首先,在 /etc/nginx/sites-available/default 配置文件中(网站根目录也在是这里更改), Nginx已经为与 PHP-FPM的整合准备好了,只需要将下面这部分改好就可以了。

sock文件路径为 /run/php/php7.2-fpm.sock 。

location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        # With php7.0-cgi alone:
        # fastcgi_pass 127.0.0.1:9000;
        # With php7.0-fpm:
        fastcgi_pass unix:/run/php/php7.2-fpm.sock;
    }

然后,再修改 PHP-FPM的配置文件 /etc/php/7.2/fpm/pool.d ,如下:
与 Nginx监听同一个 sock

listen = /run/php/php7.2-fpm.sock

最后,配置好后重启服务:

/etc/init.d/nginx restart  
/etc/init.d/php7.2-fpm restart

四、安装 MySQL

首先,安装MySQL,

apt –y install mysql-server mysql-client php7.2-mysql

第三个php7.2-mysql是 PHP的 MySQL扩展。
安装过程中会让你为 MySQL root用户设置密码(假设是123456)。
最后,使用命令 netstat -anp ,会发现 3306端口正在被监听了。
MySQL配置文件路径:/etc/mysql/ 下的文件树结构

├── conf.d
│   ├── mysql.cnf
│   └── mysqldump.cnf
├── debian.cnf
├── debian-start
├── my.cnf -> /etc/alternatives/my.cnf
├── my.cnf.fallback
├── mysql.cnf
└── mysql.conf.d
    ├── mysqld.cnf # service mysql 的配置文件
    └── mysqld_safe_syslog.cnf

**常用路径: **
安装好之后,使用 dpkg -S nginx 命令来搜索 nginx相关文件
发现Nginx的

  • 默认的安装位置是/etc/nginx/
  • 配置文件/etc/nginx/nginx.conf
  • 默认网站目录是 /usr/share/nginx/html/
  • 默认Nginx网站配置文件为 /etc/nginx/sites-available/default
  • www目录 /var/www
  • vhost目录 /etc/nginx/sites-available
  • access_log /var/log/nginx/access.log
  • error_log /var/log/nginx/error.log
  • php配置文件位置 /etc/php/7.2/cli/php.ini
  • php-fpm 配置文件 /etc/php/7.2/fpm/pool.d/www.conf

##参考

  • http://blog.csdn.net/STFPHP/article/details/53492723

你可能感兴趣的:(lnmp,mysql,技术总结)