20181228 ubuntu 18.04 安装 LNMP

开始时是要学习 Docker 中 安装 nginx、php、mysql的
开始的时候虚拟机上 ubuntu 18.04 an zhao按照官网已经安装过了 LAMP
然后就总是出现这样那样的错误!浪费无数脑细胞之后,决定从头开始!
安装完 ubuntu 18.04 之后,不要安装 LAMP ,而是按照 LNMP 的次序一步一步的来过!

1、安装 nginx

sudo apt install nginx确认:查看端口
netstat -anp |grep 80
或者
sudo lsof -i:80COMMAND  PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAMEnginx   1750     root    6u  IPv4  22825      0t0  TCP *:http (LISTEN)nginx   1750     root    7u  IPv6  22826      0t0  TCP *:http (LISTEN)nginx   1752 www-data    6u  IPv4  22825      0t0  TCP *:http (LISTEN)nginx   1752 www-data    7u  IPv6  22826      0t0  TCP *:http (LISTEN)确认:cha查看 nginx 服务
sudo systemctl status nginx

2 、安装 php

sudo apt install php php-fpm
sudo apt-get install php7.2 php7.2-fpm
确认:查看版本
php -vPHP 7.2.10-0ubuntu0.18.04.1 (cli) (built: Sep 13 2018 13:45:02) ( NTS )Copyright (c) 1997-2018 The PHP GroupZend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologieswith Zend OPcache v7.2.10-0ubuntu0.18.04.1, Copyright (c) 1999-2018, by Zend Technologies确认:查看进程
ps -ef |grep phproot     10848     1  0 12:41 ?        00:00:00 php-fpm: master process (/etc/php/7.2/fpm/php-fpm.conf)www-data 10862 10848  0 12:41 ?        00:00:00 php-fpm: pool wwwwww-data 10863 10848  0 12:41 ?        00:00:00 php-fpm: pool wwwdhbm     10983  1232  0 12:48 pts/0    00:00:00 grep --color=auto php

3 、修改站点配置,测试 php 文件解析

1)、新建一个 php 文件 cd /var/www/htmlsudo vim info.php
加入以下 3 行<?phpphpinfo();?>
2)、修改站点配置
cd /etc/nginx/sites-available/** a. 去掉 location ~ \.php$ { 这行的注释,同时去掉配对的 } 这行的注释** b. 去掉 fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; 这行的注释** c. 同时,修改成对应的 php-fpm 版本号的文件名(我安装的是 php7.2)
3)、测试 nginx,重启 nginx 服务
nginx -tnginx: [alert] could not open error log file: open() "/var/log/nginx/error.log" failed (13: Permission denied)...需要 sudosudo nginx -tnginx: [emerg] "fastcgi_pass" directive is not allowed here in /etc/nginx/sites-enabled/default:62nginx: configuration file /etc/nginx/nginx.conf test failed
按照错误提示的行号(我的错误在 62 行),检查以上 a,b,c 处修改正确否!4)、纪录一下修改的结果location ~ \.php$ {include snippets/fastcgi-php.conf;##       # With php-fpm (or other unix sockets):fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;#       # With php-cgi (or other tcp sockets):# fastcgi_pass 127.0.0.1:9000;}5)、正确测试结果sudo nginx -tnginx: the configuration file /etc/nginx/nginx.conf syntax is oknginx: configuration file /etc/nginx/nginx.conf test is successful
6)、正确之后再重启 nginx 服务sudo systemctl restart nginx** 不确认的话,可以查看 nginx 服务状态!sudo systemctl status nginx**中途总是折腾不对时,多次 reboot ,实践证明:必须 nginx 测试正确后,重启服务才会正常!
7)、测试结果本地测试: curl 127.0.0.1curl 127.0.0.1/info.php浏览器测试:http://192.168.1.191/http://192.168.1.191/info.php

4、错误处理:nginx打开php文件总是显示下载,并开始下载我的 info.php 文件

这是之前学习时遇到的问题(另一个虚拟机)
原因同上!

5、错误处理:nginx打开php文件,显示 502 Bad Gateway

回头处理之前学习时遇到的问题(另一个虚拟机)
不出现下载了,但是,出来 502 Bad Gateway 错误检查 /etc/nginx/sites-available/default 配置中 php部分fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;cd /var/run/php/
lsphp7.2-fpm.pid只有一个 pid 文件!没有发现存在这个文件 php7.2-fpm.sock ?
怎么安装的 php-fpm?sudo vim /etc/nginx/sites-available/default
先改用 php-cgi 方式
fastcgi_pass 127.0.0.1:9000;重启 php7.2-fpm 服务sudo systemctl restart php7.2-fpm.service
重启 nginxsudo systemctl restart nginx再次测试
http://192.168.1.192/info.php
可以看到正确信息了PHP Version 7.2.10-0ubuntu0.18.04.1
..
*** php-cgi 方式 和 php-fpm 方式差别在哪里来着?需要再次学习去!

***经过回忆:
之前的虚拟机上的 php 是直接按照ubuntu 18.04 官网介绍一次整体安装了 LAMP
之后是自己从头 LNMP 一个一个手工安装的!

6、安装 mysql

sudo apt install mysql-server确认sudo netstat -tap | grep mysqltcp        0      0 localhost.localdo:mysql 0.0.0.0:*               LISTEN      2808/mysqld

7、设置 mysql 初始密码

sudo mysql_secure_installation
返回结果如下:Securing the MySQL server deployment.Connecting to MySQL using a blank password.VALIDATE PASSWORD PLUGIN can be used to test passwordsand improve security. It checks the strength of passwordand allows the users to set only those passwords which aresecure enough. Would you like to setup VALIDATE PASSWORD plugin?Press y|Y for Yes, any other key for No: y     There are three levels of password validation policy:LOW    Length >= 8MEDIUM Length >= 8, numeric, mixed case, and special charactersSTRONG Length >= 8, numeric, mixed case, special characters and dictionary                  filePlease enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 0** 学习用,简单设置 12345678后续一路 y

8、安装 phpmyadmin

** 我是按照ubuntu 18.04 官网操作的,但是,她主要针对得失 apache2
** 这次没有安装 apache2,所以,中途注意不要让它自动配置
** 拿不准的话,直接去下载 phpmyadmin 然后,按照 nginx 网站去配置sudo apt install phpmyadmin
** 注意:Web 自动选择: apache ,lightd 一个都不选!摘录一部分安装提示如下
...should most likely be provided in /usr/share/doc/phpmyadmin....Creating config file /etc/phpmyadmin/config-db.php with new version...收到以上提示信息影响,第一次我给配置到了 phpmyadmin 文档,也纪录一下
cd /usr/share/doc/phpmyadmin
lschangelog.Debian.gz  copyright  html            README            TODO.DebianCONTRIBUTING.md      examples   NEWS.Debian.gz  README.Debian.gz

9、新建一个网站 phpmyadmin

1)、为了统一,将 phpmyadmin ln 到 /var/www这是第一次错误的操作,ln 到 phpmyadmin 文档 了sudo ln -s /usr/share/doc/phpmyadmin/html /var/www/phpmyadmin正确的 ln 路径sudo ln -s /usr/share/phpmyadmin /var/www/phpmyadmin2)、直接 cp default 过来修改cd /etc/nginx/sites-available/sudo cp default phpmyadmin3)sudo vim /etc/nginx/site-available/phpmyadmin修改这个 phpmyadmin 以下 2 处listen 999;root /var/www/phpmyadmin;4)、连接到 sites-enabledsudo ln -s /etc/nginx/sites-available/phpmyadmin /etc/nginx/sites-enabled/phpmyadmin5)测试、重启 nginx 服务sudo nginx -t必须测试正确!sudo systemctl restart nginx

10、 测试结果

本地先测试
curl 127.0.0.1:999出现403 错误403 Forbidden据说是首页没有加上 index.phpcurl 127.0.0.1:999/index.phpok!说明 403确实是因为:首页没有加上 index.php浏览器测试
http://192.168.1.191:999
出错误了:
403 Forbidden加上 php文件路径
http://192.168.1.191:999/index.php原因同上!修改之后再来!
vim /etc/nginx/sites-availablephpmyadmin # Add index.php to the list if you are using PHPindex index.php index.html index.htm index.nginx-debian.html;

ubuntu 18.04 安装 LNMP相关推荐

  1. Ubuntu 18.04 安装 redis入门使用

    Ubuntu 18.04 安装 redis入门使用 1.安装 sudo apt-get install redis-server 2.查看redis运行状态 ps -ef | grep redis 3 ...

  2. Ubuntu 18.04安装CUDA(版本10.2)和cuDNN

    1.系统要求 2.安装前的要求 3.runfile安装(不支持跨平台) 4.后续安装操作 5.安装cuDNN 6.汇总问题 本文基于Ubuntu 18.04.3 LTS 64位安装CUDA 10.2和 ...

  3. Ubuntu 18.04 安装OpenCV C++

    Ubuntu 18.04 安装OpenCV C++ 构建并安装 仅构建核心模块 # 更新并安装依赖 sudo apt update && sudo apt install -y cma ...

  4. Ubuntu 18.04安装NVIDIA(英伟达) RTX2080Ti显卡

    Ubuntu 18.04安装NVIDIA(英伟达) RTX2080Ti显卡 在安装显卡之前请先把ubuntu 18.04系统提前安装好. 需要准备的资料: NVIDIA 驱动 下载驱动 驱动的下载地址 ...

  5. linux 模拟运行 微信,Ubuntu 18.04 安装微信(Linux通用)

    Ubuntu 18.04 安装微信(Linux通用) 发布时间:2018-06-02 10:52, 浏览次数:1468 , 标签: Ubuntu Linux Linux相关的知识:https://ww ...

  6. ubuntu 18.04 安装 中文 拼音 输入法

    ubuntu 18.04 安装 中文输入法 拼音 在安装ubuntu时,如果选择英文安装默认会不启用中文输入法的.可以通过下述方法开启: 1,安装 pingyin 输入法 打开终端输入命令: sudo ...

  7. [笔记] Ubuntu 18.04安装Docker CE及nvidia-docker2流程

    这篇已经Out了,以[笔记] Ubuntu 18.04安装Docker CE及NVIDIA Container Toolkit流程为准. Docker的好处之一,就是在Container里面可以随意瞎 ...

  8. 完美解决 Ubuntu 18.04 安装网易云音乐 不能正常点击启动问题

    完美解决 Ubuntu 18.04 安装网易云音乐 不能正常点击启动问题 经过我的学习终于学会了,下面附上连接 完美解决

  9. Ubuntu 18.04 安装Qt 5.12.0

    Ubuntu 18.04 安装Qt 5.12.0 1.安装包下载 2.安装QT 3.配置系统路径 4.配置QT creator 6.测试工程 1.安装包下载 官方下载地址 也可以下载到其他版本:htt ...

  10. Ubuntu 18.04 安装 NVIDIA 显卡驱动

    确认驱动版本: 访问网站https://www.nvidia.com/Download/index.aspx?lang=en-us 根据不同显卡确认驱动版本,目前最新版本是430 PPA源安装驱动: ...

最新文章

  1. 磁场对于电感路径检测的影响
  2. 自动化测试QTP知识框架
  3. 3、ACE-实用生活口语---讲打电话Talking on the phone
  4. 设计高效sql一般经验谈
  5. has_a php,PHP has encountered a Stack overflow问题解决方法
  6. SQL Server 2008 事件探查器(SQL SERVER Profiler)
  7. 国家游泳中心诚聘CV算法开发人员~待遇优福利厚
  8. java 时间格式化 星期_Java SimpleDateFormate时间格式化
  9. 服务器脱机状态,从脱机工作切换到联机工作
  10. Python3爬虫项目集:豆瓣电影排行榜top250
  11. 【学术相关】iccv、cvpr、eccv论文接收率及格式下载(附论文下载)
  12. 复制虚拟机出现”适配器 的mac地址在保留地址范围内‘’
  13. 乐橙tp1 html调用,乐橙TP1的妙用
  14. C语言实现1/1-1/2+1/3-...-1/100求和
  15. win7 匿名共享目录
  16. android 仿微信账单生成器手机版式,至尊版清理大师app
  17. 绿色工厂的企业应具备的基本条件
  18. AssemblyInfo.cs文件中的程序集属性
  19. 阿德莱德大学计算机科学学士学分,澳洲阿德莱德大学软件工程计算机科学学士专业就业方向简析...
  20. Git本地代码同步到Github远程仓库

热门文章

  1. Spring Cloud(4):Feign的使用
  2. ES6+webpack实现Counter
  3. MFC DLL向导(二)
  4. React-Native 爬坑爬坑
  5. ERwin 正向工程
  6. 中间人攻击利用框架bettercap测试
  7. 条款4:确定对象被使用前已被初始化(Make sure that objects are initialized before they're used)...
  8. 伪静态在webconfig中配置
  9. DataFrame和RDD互操作的两种方式:
  10. lol人物模型提取(四)