热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

从无到有:ubuntukylin15.10安装LNMP环境详细教程

一键安装稳定版本【https:lnmp.orginstall.html】wget-chttp:soft.vpser.netlnmplnmp1.4.tar.gz&

一键安装稳定版本【https://lnmp.org/install.html】

wget -c http://soft.vpser.net/lnmp/lnmp1.4.tar.gz && tar zxf lnmp1.4.tar.gz && cd lnmp1.4 && ./install.sh lnmp


网上有一些教程,比如lnmp配置1、 lnmp 配置2,我自己参考着大神的经验,自己下载了一个ubuntu kylin15.10版本,并且从头到尾配置了一遍,补上几个可能遇到的坑,写下这个还算详细的教程,适合linux新手参考。

首先有几个linux命令要熟悉一下,接下来配置的时候才能提高效率,个人推荐20个常用linux命令,ls,find,cd,cat,vim,gedit,touch,mkdir,mv,rm这些命令可以先熟悉或者回忆一下。

经常用sudo开头是为了保证安全,如果觉得烦,可以用sudo su命令切换到最高权限。

注意,这里使用的是ubuntu yklin15.10版本,网上的参考资料也比较多,16.10的源安装php时为php7.0,同时会安装好apache2。本文以ubuntu yklin15.10为例。

第一步:输入命令 sudo apt-get update 进行更新

刚下载好的ubuntu kylin15.10下载地址一般源是没问题的 ,先用命令更新。

如果出现“could not get lock /var/lib/apt/lists/lock”,可能是进程被占用了,最简单暴力的方式就是重启。也可以参考这篇文章could not get lock /var/lib/apt/lists/lock。

如果源有问题,到sudo vim /etc/apt/sources.list修改源。


第二步:安装nginx

运行sudo apt-get install nginx (nginx 1.9.3版本)安装nginx,

运行sudo /etc/init.d/nginx start (或者 service nginx start) 启动nginx服务。

这一步完成后,可以用命令dpkg -s nginx查看版本信息,同时网址输入localhost,会看到Welcome to nginx!页面。

如果提示upable to locate package nginx,仔细查看一下有没有打错单词。


第三步:安装php

运行 sudo apt-get install php5 php5-cli php5-cgi php5-mysql (php 5.6.11版本)。

同理,安装完之后,可以用命令dpkg -s php5查看版本信息。

如果有要重启的话,命令是service php5-fpm reload。


第四步:安装mysql

运行 sudo apt-get install mysql-server mysql-client (mysql 5.6.27版本)会提示输入root帐号密码。

安装完后,输入命令 mysql -u root -p, 输入密码进入mysql数据库。

在这里,可能会出现进不去的情况,denied for user'root'@'localhost'。

原因:MySQL生成了用户的随机密码。
解决办法是,先运行sudo cat /etc/mysql/debian.cnf,使用其提供的用户名,一般是debian-sys-main,记下随机密码,是一串字符。

运行mysql -u debian-sys-maint -p,用提供的密码进入欢迎页面。
接下来是修改密码:
使用mysql表:

mysql> use mysql;
修改root用户的密码:mysql> update user set password=password('root') where user='root';
使生效:
mysql> flush privileges;
用quit;命令退出。
这样,下次进去的时候,用mysql -u root -p命令和root密码就可以进去了。

运行 grant all on *.* to root@'%' identified by '123456'; 更改数据库用户的权限。

运行 flush privileges; 刷新让权限生效。

运行 sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf 将 bind-address = 127.0.0.1 前面加个#号 注释掉,就可以远程连接数据库了。


第五步:安装php5-fpm

运行 sudo apt-get install php5-fpm

如果安装的是16.10的版本,输入命令是sudo apt-get install php7.0

最后是配置和测试,直接照搬就可以了:


第六步:配置nginx.conf
配置/etc/nginx/nginx.conf

sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak 
sudo gedit /etc/nginx/nginx.conf 

搜索文字worker_processes找到worker_processes auto;改为worker_processes 4;
搜索文字keepalive_timeout找到keepalive_timeout 65;改为keepalive_timeout 2;


第七步:配置Nginx让其使用php-fpm进程

sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.bak 
sudo gedit /etc/nginx/sites-available/default 

更改如下,直接复制替换

server { 
listen 80 default_server; 
listen [::]:80 default_server ipv6Only=on; 

root /usr/share/nginx/html; 
index index.php index.html index.htm; 

server_name server_domain_name_or_IP; 

location / { 
try_files $uri $uri/ =404; 

error_page 404 /404.html; 
error_page 500 502 503 504 /50x.html; 
location = /50x.html { 
root /usr/share/nginx/html; 

location ~ \.php$ { 
try_files $uri =404; 
fastcgi_split_path_info ^(.+\.php)(/.+)$; 
fastcgi_pass unix:/var/run/php5-fpm.sock; 
fastcgi_index index.php; 
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
include fastcgi_params; 

重新加载nginx

service nginx reload


第八步:配置PHP,修改php.ini文件

sudo gedit /etc/php5/fpm/php.ini 

设置,取消分号;将1改为0

cgi.fix_pathinfo=0: 

重新加载 PHP-FPM:

service php5-fpm reload 


接下来是测试:


1、测试php
创建探针文件info.php到/usr/share/nginx/html目录下

sudo gedit /usr/share/nginx/html/info.php 

phpinfo(); 
?> 

浏览器访问探针文件http://127.0.0.1/info.php
如果出现PHP版本信息说明配置成功

2、测试mysql
创建测试文件sqltest.php到/usr/share/nginx/html目录下

sudo gedit /usr/share/nginx/html/sqltest.php 

$link=mysql_connect("localhost","root","root"); 
if(!$link) echo "FAILD!"; 
else echo "OK!"; 
?> 

访问http://127.0.0.1/sqltest.php
如果出现OK字符说明mysql配置成功。

一般这样子走下来,就可以在ubuntu kylin15.10上成功搭建lnmp了。


如果不使用命令行,可以使用phpstudy。

centos一般是用yum搭建,网上资料也是比较齐全的。

虚拟机软件建议vmware workstation和Oracle VM VirtualBox都装上,出现无法解决的问题时候,考虑换个镜像之前,可以考虑换个虚拟机软件试试。

本文出自 “飞天马铃薯神教” 博客,请务必保留此出处http://1105190775.blog.51cto.com/10048144/1873279


推荐阅读
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • 目录浏览漏洞与目录遍历漏洞的危害及修复方法
    本文讨论了目录浏览漏洞与目录遍历漏洞的危害,包括网站结构暴露、隐秘文件访问等。同时介绍了检测方法,如使用漏洞扫描器和搜索关键词。最后提供了针对常见中间件的修复方式,包括关闭目录浏览功能。对于保护网站安全具有一定的参考价值。 ... [详细]
  • 本文介绍了在无法联网的情况下,通过下载rpm包离线安装zip和unzip的方法。详细介绍了如何搜索并下载合适的rpm包,以及如何使用rpm命令进行安装。 ... [详细]
  • 负载均衡_Nginx反向代理动静分离负载均衡及rewrite隐藏路径详解(Nginx Apache MySQL Redis)–第二部分
    nginx反向代理、动静分离、负载均衡及rewrite隐藏路径详解 ... [详细]
  • Linux下部署Symfoy2对app/cache和app/logs目录的权限设置,symfoy2logs
    php教程|php手册xml文件php教程-php手册Linux下部署Symfoy2对appcache和applogs目录的权限设置,symfoy2logs黑色记事本源码,vsco ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • 解决php错误信息不显示在浏览器上的方法
    本文介绍了解决php错误信息不显示在浏览器上的方法。作者发现php中的各种错误信息并不显示在浏览器上,而是需要在日志文件中查看。为了解决这个问题,作者提供了一种解决方式:通过修改php.ini文件中的display_errors参数为On,并重启服务。这样就可以在浏览器上直接显示php错误信息了。 ... [详细]
  • 本文介绍了在Ubuntu下制作deb安装包及离线安装包的方法,通过备份/var/cache/apt/archives文件夹中的安装包,并建立包列表及依赖信息文件,添加本地源,更新源列表,可以在没有网络的情况下更新系统。同时提供了命令示例和资源下载链接。 ... [详细]
  • 本文介绍了在Ubuntu系统中清理残余配置文件和无用内容的方法,包括清理残余配置文件、清理下载缓存包、清理不再需要的包、清理无用的语言文件和清理无用的翻译内容。通过这些清理操作可以节省硬盘空间,提高系统的运行效率。 ... [详细]
  • nginx+多个tomcat
    学习nginx的时候遇到的问题:nginx怎么部署两台tomcat?upstream在网上找的资源,我在nginx配置文件(nginx.conf)中添加了两个server。结果只显 ... [详细]
author-avatar
铥铥宇900
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有