1.Nginx的安装

Nginx安装是属于最简单的,只需要在命令行执行

sudo apt-get install nginx

就能自动安装 Nginx,其中过程中需要 选择 Y/n 的选择Y就行了,当安装结束后再执行下列代码,重启Nginx服务器

sudo service nginx restart

然后通过chrome浏览器访问 localhost,如果出现Nginx的欢迎页面,就代码Nginx安装成功

2:MySQL的安装

由于咱们使用的Ubuntu18.04,如果直接不选MySQL版本的话,则自动安装最新的MySQL,所以,在此次安装中,就自动安装了MySQL5.7;

执行命令如下:

sudo apt-get install mysql-server mysql-client 

虽然我看到很多教程上说,在安装过程中会出现设定MySQL初始密码的的步骤,不过我在安装过程中,属实是什么都没发生,就是这个,导致后面有些坑的出现。

在安装完成后,执行下面命令:

mysql -u root -p

然后要求你输入密码,如果之前设置,则输入设置好的。

如果没设置,就要开始进入下个坑了,出现下列报错:

ERROR 1698 (28000): Access denied for user ‘root‘@‘localhost‘

这个错误,简单的说,就是密码错了,但是你没设置过,怎么会错呢,这个就是MySQL自身会设置的随机密码的问题了,解决方法就是重新设置新的root密码,但是问题在于,如果进入MySQL中去。我在这过程中有两种方法进入MySQL命令行里,

第一种如下:

sudo mysql

通过管理员权限,直接进入。

第二种如下:

关闭正在运行的 MySQL :
service mysql stop 运行命令:
mysqld_safe --skip-grant-tables &

以上两种方法,如果执行成功,则会成功进入MySQL的命令行中,

然后就开始进行修改root密码的操作了:

mysql> use mysql;
mysql> update mysql.user set authentication_string=PASSWORD('447728'),plugin='mysql_native_password' where user='root';
mysql>flush privileges;

这一步主要是在设置新密码的时候,顺便把用户root的plugin进行修改,修改为默认的 mysql_native_password,然后在刷新权限设置。

在执行成功后,重启MySQL,然后再执行一次上面连接数据库命令:

sudo service mysql restart 
mysql -u root -p

我这样解决掉MySQL的使用问题的。

3:PHP7.2.5安装

我直接执行如下命令:

sudo apt-get install php7.2 php7.2-fpm php7.2-mysql
安装之后差curl 并且php.ini中未开启
sudo apt-get install php7.2-curl
cd /etc/php/7.2/fpm
sudo vim php.ini

三个命令一起执行,直接把php相关的各种软件和拓展直接安装成功。

4:配置Nginx解析PHP

首先修改你Nginx配置文件,执行命令:

sudo vim /etc/nginx/sites-available/default

修改如下图:

server {
listen 80;
server_name 域名;

charset utf-8;

#access_log logs/host.access.log main;
# root /var/www/joyway/laraverl/public;
root /var/www/joyway;

location / {
index index.html index.htm index.php l.php;
autoindex off;
}

if (!-e $request_filename) {
rewrite ^/(.*) /index.php/$1 last;
}
#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 html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
# location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location ~ \.php(.*)$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi_params;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#location ~ /\.ht {
# deny all;
#}

}

然后执行命令,重启Nginx:

sudo service nginx restart

接下来我们修改PHP相关配置文件:

sudo vim /etc/php/7.2/fpm/pool.d/www.conf

在37行加入替换代码:

:set number

修改之后,我们重启php7.2-fpm

sudo service php7.2-fpm start

然后咱们在/var/www里面新建index.php文件

index.php代码如下:

<?php

echo 123;

?>

然后在浏览器打开:域名/index.php 效果如下:

然后咱们在/var/www里面新建mysql.php文件,

mysql.php代码如下:

<?php echo ‘<h1>Page loaded with PHP!</h1>‘;
$conn = mysqli_connect(‘localhost‘, ‘site_admin‘, ‘your_password‘); if(!$conn){
die(‘<h2>Error: </h2>‘ . mysqli_connect_error());
}else{
echo ‘<h2>Successfully Connected to MySQL Database!</h2>‘;
}
?>

然后在浏览器打开:localhost/mysql.php

Ubuntu 18.04.1 下快速搭建 LNMP环境的更多相关文章

  1. ubuntu 18.04 64bit下如何安装安卓虚拟机anbox?

    一. 安装snapd sudo apt-get install snapd 二. 安装adb sudo apt-get install adb 三. 安装必要的内核模块 wget https://la ...

  2. 阿里云体验实验室 教你如何《快速搭建LNMP环境》

    ## 体验平台简介 面向开发者和中小企业打造的一站式.全云端的开发平台,打开浏览器就可以开发.调试.上线,所测即所得,并结合无服务器的模式,重新定义云原生时代的研发工作方法论.旨在降低开发者上手成本和 ...

  3. windows 7 下快速搭建php环境(windows7+IIS7+php+mysql)

    原文:windows 7 下快速搭建php环境(windows7+IIS7+php+mysql) 1).采用理由: 优点:最大化的桌面图形化操作系统,可维护性优秀.基于IIS v6.0/v7.0(20 ...

  4. Mac下docker搭建lnmp环境 + redis + elasticsearch

    之前在windows下一直使用vagrant做开发, 团队里面也是各种开发环境,几个人也没有统一环境,各种上线都是人肉,偶尔还会有因为开发.测试.生产环境由于软件版本或者配置不一致产生的问题, 今年准 ...

  5. 烂泥:学习ubuntu之快速搭建LNMP环境

    本文由秀依林枫提供友情赞助,首发于烂泥行天下 现在公司使用的都是ubuntu系统,这几天由于个别项目需要,需要搭建一个LNMP环境.为了快速搭建这个环境,我使用是apt-get方式进行安装.具体的操作 ...

  6. Win10+WSL2+Ubuntu 18.04(WSL下)+VS Code(Win10下)+TexLive 2019(Ubuntu下)安装和配置

    本人手头电脑是Win10 Home版全新安装的系统,由于不想在新系统盘里面安装TexLive导致固态硬盘不断扩大,所以,考虑安装Ubuntu做为WSL,然后把TexLive安装在Ubuntu,并通过V ...

  7. Ubuntu 18.04系统下arm-linux-gcc交叉编译器安装

    Ubuntu 18.04系统: arm-linux-gcc 4.4.3版本. 安装arm-linux-gcc将压缩包arm-linux-gcc.tar.gz解压到arm-linux-gcc文件夹tar ...

  8. Centos 7 下yum搭建lnmp环境(yum安装方式)

    我们都知道linux下安装软件主要有三种方式: 1.源码编译安装,即下载软件源代码,利用gcc g++ make 等编译工具进行编译安装: 此方式的优点:可以指定软件版本,可选择性好:编译时可以手动指 ...

  9. 虚拟机Ubuntu(18.04.2)下安装配置Hadoop(2.9.2)(伪分布式+Java8)

    [本文结构] [1]安装Hadoop前的准备工作 [1.1] 创建新用户 [1.2] 更新APT [1.3] 安装SSH [1.4] 安装Java环境 [2]安装和配置hadoop [2.1] Had ...

随机推荐

  1. 前端笔记之JavaScript(八)关于元素&计算后的样式

    一.获取元素方法(JS选择器) 1.1概述 得到id元素的方法 document.getElementById() 得到一个元素.事实上,还有一个方法可以得到标签元素,并且得到的是多个元素: docu ...

  2. shell之最常用的服务脚本

    任务需求:以最简单的方式管理 /usr/local/php7/sbin/php-fpm -c /usr/local/php7/etc/php.ini 这条命令 包括启动停止重启 使用技术:shell脚 ...

  3. leetcode — remove-duplicates-from-sorted-list-ii

    /** * Source : https://oj.leetcode.com/problems/remove-duplicates-from-sorted-list-ii/ * * * Given a ...

  4. leetcode — subsets

    import java.util.ArrayList; import java.util.Arrays; import java.util.List; /** * Source : https://o ...

  5. Python MetaClass深入分析

    python元类是比较难理解和使用的.但是在一些特定的场合使用MetaClass又非常的方便.本文本着先拿来用的精神,将对元类的概念作简要介绍,并通过深入分析一个元类的例子,来体会其功能,并能够在实际 ...

  6. Qt显示Linux desktop natification气泡提示框

    在现代Linux桌面环境上我们时常可以看到类似的消息框: 这些消息框常用在如下场景: 即时聊天软件的新消息 闹钟定时提示 电池电量提示 邮件消息 长耗时操作的完成提示 在freedesktop.org ...

  7. Entity Framework 框架

    微软官方提供的ORM技术的实现就是EF(Entity Framework)框架.EF的模式有三种分别是:Database First  数据库先行 ,Model First 模型先行 , Code F ...

  8. SQL中# 与$ 的区别

    区别: (1)#将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号.如:order by #user_id#,如果传入的值是id,则解析成的sql为order by "id&quo ...

  9. HTML代码片段

    按钮类 后退.前进按钮 返回按钮 几种刷新按钮 警告框显示源代码 链接按钮 打开新窗口 打印 新窗口延迟打开 背景色变换 表单类 点击清空文字 关闭输入法 链接 双击打开链接 超链接鼠标形状 页面 不 ...

  10. 基本数据类型 int float str

    一.数字型1.整型 int======================================基本使用======================================1.用途 用来 ...