Ubuntu18.04 LNMP环境(一) 从零部署及搭建

Ubuntu18.04,构建(PHP7.2,Nginx1.14。*​​,MySQL5.7 Lavavel5.5 ^),给大家一个无脑安装步骤的教程

一,切换国内apt源

ubuntu
ubuntu

换源的主要目的,主要是为了安装文件能效率提升一些

cd /etc/apt
# 进入apt配置目录,准备换国内18.04源

cp sources.list sources.list.bak
# 备份默认的源,以防不时之需

vim sources.list
# 进入后删除光所有的内容,准备粘贴国内华科大源地址

将准备好的源粘贴进去(sources.list文件)

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb http://mirrors.hust.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.hust.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.hust.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.hust.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.hust.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse

# deb-src http://mirrors.hust.edu.cn/ubuntu/ bionic main restricted universe multiverse
# deb-src http://mirrors.hust.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
# deb-src http://mirrors.hust.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
# deb-src http://mirrors.hust.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
# deb-src http://mirrors.hust.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
注意:这里我们可以切换的国内源有很多,例如清华源,中科大源,阿里云源等等...因个人选择而易。。。
# 保存好 更改后的 sources.list 后,执行
source sources.list   # 重新编译生效sources.list文件

# 更新
sudo apt-get update

二,安装PHP7.2

php7

因为目前很多框架的新版本都依赖于PHP7.1以上,所以为了避免我们日后开发过程中又要去切换版本或升级版本的麻烦,我们直接安装一个7.2版本的PHP,起码保证duan短期内不会被因为版本过低的事而入侵。

  • 安装PHP7.2
# 安装PHP7.2
sudo apt-get install -y php7.2

# 安装成功后
php -v

#出现一下内容为成功

#PHP 7.2.24-0ubuntu0.18.04.1 (cli) (built: Oct 28 2019 12:07:07) ( NTS )
Copyright (c) 1997-2018 The PHP Group
  • 安装PHP7.2相关扩展
sudo apt-get install -y php7.2-fpm php7.2-mysql php7.2-curl php7.2-json php7.2-mbstring php7.2-xml  php7.2-intl php7.2-zip php7.2-gd php7.2-opcache php7.2-common php7.2-cli
  • 配置php.ini和设​​置的PHP-FPM自启动
vim /etc/php/7.2/fpm/php.ini
  • 搜索`cgi.fix_pathinfo =`,在`; cgi.fix_pathinfo = 1`一行后面添加一行`cgi.fix_pathinfo = 0`,要有一个好的习惯,修改配置文件的时候,能不动源码的时候尝试不动,防备于未然。
vim搜索使用`/`来搜索,例如上面搜索的内容`/ cgi.fix_pathinfo =`来搜索,使用N继续下一条
; http://php.net/cgi.fix-pathinfo
;cgi.fix_pathinfo=1
cgi.fix_pathinfo=0
  • 设置php-fpm自启动(如果你有systemctl守护进程服务)
systemctl start php7.2-fpm
systemctl enable php7.2-fpm

# 如果你没有systemctl,请输入下面命令
sudo service php7.2-fpm restart
  • 检查php-fpm是否安装成功
netstat -pl | grep php7.2-fpm

三,安装MySQL5.7

Ubuntu18.04不用选择mysql的安装版本,交替就是最新的mysql,在这里最新版本是mysql5.7

sudo apt-get install mysql-server mysql-client
  • 安装完成后查看mysql版本
mysql --version

# 安装过程中,如果提示输入 root 密码,直接设置就行(我的安装过程中没有出现提示);

# 若安装过程没有提示输入 root 密码,则需要安装完之后,手动重置 root 密码

四,安装Nginx

sudo apt install -y nginx

nginx -v # 查看nginx版本

# 安装完成后,启动nginx服务并将其添加到使用systemctl命令在系统引导时自动启动。

systemctl start nginx
systemctl enable nginx

# 如果没有 systemctl 请输入以下命令:
sudo nginx -s reload  
或者
sudo service nginx restart

这里,我们可以通过查看端口号来检查是否安装成功,Nginx运行在80端口上,使用netstat命令检查相关统计信息。

netstat -plntu
  • 配置Nginx
cd /etc/nginx/sites-available/

sudo cp default demo.conf

sudo vim demo.conf

修改成:

server {
        listen 80;
        root /var/www/demo;
        # Add index.php to the list if you are using PHP
        index index.php index.html index.htm index.nginx-debian.html;

        server_name php.blog8090.com;

        location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
                try_files $uri $uri/ /index.php?$query_string;
        }

        location ~ \.php$ {
                fastcgi_pass   unix:/run/php/php7.2-fpm.sock;
                fastcgi_index  index.php;
                fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include        fastcgi_params;
        }
}

在/ etc / nginx / sites-enabled /下建立该配置文件的软连接

sudo ln -s /etc/nginx/sites-available/demo.conf ../sites-enabled/

查看nginx配置是否有误

sudo nginx -t

如果有问题解决问题,如果没问题重启nginx

# 以下两个命令均可(输入一条就行)

sudo service nginx restart


sudo nginx -s reload
  • 进入www目录测试php
cd /var/www/

sudo mkdir demo

sudo vim index.php
<?php

echo "Hello PHP!";

phpinfo();
phpinfo

五,卸载PHP

这里附赠卸载php相关操作,因为有些东西当你遇到了再去找的时候还真不好找,所以,我就当在这里做做笔记了,以防要卸载时又去找,或者忘了。
# 删除php的相关包及配置
    sudo apt-get autoremove php7*
    
# 删除关联
    sudo find /etc -name "*php*" |xargs  rm -rf
    
# 清除dept列表
    sudo apt purge `dpkg -l | grep php| awk '{print $2}' |tr "\n" " "`
    
# 检查是否卸载干净(无返回就是卸载完成)
    dpkg -l | grep php7.0

六,卸载Apache2

u由于很多Ubuntu至少就自带了Apache2所以以下有完整卸载Apache2的方法

sudo apt-get --purge remove apache2
sudo apt-get --purge remove apache2.2-common
sudo apt-get autoremove

# 找到没有删除掉的配置文件,一并删除
sudo find  /etc -name "*apache*" -exec  rm -rf {} \;

以上我们在ubuntu18.04下面的LNMP(php7.2-nginx1.14。*​​-mysql5.7)就建造好了,后续我们再当前环境下再来建造Laravel的开发环境。

本文为作者原创,手码不易,允许转载,转载后请以链接形式说明文章出处。如转载

您的支持是对我最大的鼓励!

发表于: 作者:吕倡
博主经历空降兵部队8年军旅生涯,退伍后到北京IT兄弟连学习软件编程开发,工作不到一年后IT进入兄弟会,一晃在IT行业混迹了5、6年的时间。。。从一名小白也进入到了IT管理者的位置。博客,是博主学习知识分享以及私人笔记(未发布的博客)留存的地方,方便随时观看。
我的站点 Github 新浪微博 Email联系我