您的位置:首页 > 运维架构 > Linux

Ubuntu系统学习笔记-2.LNMP环境搭建

2016-12-06 17:56 405 查看
       上次自己安装完Ubuntu并完成一些很基础的配置还是比较高兴的,毕竟原来这一部分都是阿里云ECS帮我完成的。以往在网页虚拟终端里面装个SSH就切回本地用OSX的vSSH或者WIN的putty或者SecureCRT了。回想起原来学装win的时候,为了学U盘各种方式安装系统,用自己笔记本倒腾了几十遍,甚至专门做一些错误的操作去模拟身边同学遇到的各种问题,然后尝试解决。学Sql的时候有一段时间为了验证MS SqlServer和Visual Studio谁先装谁后装,不同版本之间实际兼容情况,玩垮了好多次系统,反正我成功率最高的就是先装SqlServer2012,再来装VS2012,至于2008,2005,MSDE之类的,也是无语了,说多了是泪。另外当时不是很了解固态硬盘的总写入量限制,所以那段时间天天高写入量地写那块三星840evo固态,后面有很长一段时间也是。所以作为一块刚出来就不是口碑很好的TLC固态,差不多一年就开始出问题了,磨损范围三角洲值较高,后来开始丢数据,后面直接系统没了,具体原因也尝试查过,做了一次全盘写0后就非常低价处理给JS了,现在想想也是够奢侈的,还是应该用机械盘,没知识真可怕,学费掏的嗖嗖的。后来换了镁光的M550
512G的MLC固态,Marvell88SS9189主控,各方面都很满意。

 

扯远了,赶紧回到正题,这次讲自己在Ubuntu上搭建经典的LNMP环境(Linux+ nginx + mysql + php),这里没有采用LNMP的一键安装,主要是为了熟悉每一个过程。这一次建议大家,直接通过远程来完成安装。

 

一、安装ssh(预备工作,在本机上操作,如果是云服务器就在网页终端上操作)

sudo apt-get install openssh-server

输入Y完成安装

 

先执行sudo ps -e |grep ssh

来检查一下是否启动,如果有包含sshd行就说明已经启动了,如果没有,就执行:

sudo service ssh start

 

接下来配置ssh文件

sudo vim /etc/ssh/sshd_config

这里面Port默认是22,一般在云服务器上会更改成其他的端口

网上有教程说在“PermitRootLogin without-password”前加一个“#”完成该句的注释,我的配置文件中是“PermitRootLogin prohibit-password”,意思一样。

增加一句话(Vim中按i插入):

PermitRootLogin yes

这句话是允许root用户远程登录

按Esc退出编辑模式,按“:”输入wq回车(意思是保存并退出),如果警告文件为只读不可保存,说明刚刚执行修改配置文件的命令时,没有加sudo,可以:q!强制退出后重新以管理员权限进行编辑。

 

远程连接前先查看ubuntu主机的ip地址,执行:

sudo ifconfig

就可以看到ip地址了,云服务器一般有公网固定IP,如果是连路由器的局域网,可以直接分配固定ip,如192.168.2.200,在Ubuntu桌面右上角网络连接里面可以设置,设置固定ip记得也要填写dns,一般填网关即可,一般就是路由器ip,192.168.x.1,也可以自己指定如114.114.114.114 223.5.5.5之类的。

 

接下来,试用远程连接,如果上面配置没有问题,win下用putty,osx用iterm或者vssh,填写ubuntu主机ip地址和端口号,并进行连接,并填写自己ubuntu主机的用户名和密码即可完成远程登录。然后就可以尽情地在终端里操作系统了,就和操作云服务器一样。后面的服务配置都通过终端完成。

 

二、安装mysql

sudo apt-get install mysql-server mysql-client

安装过程中会要求输入用户名和密码,一定要谨慎,别忘了。

 

三、安装ngnix

sudo apt-get install nginx

安装完成后执行nginx的启动服务:

service nginx start

在自己的电脑(运行putty的电脑)中打开浏览器,访问ubuntu主机ip,应该可以看到Welcom to nginx的欢迎界面,说明nginx安装成功。

 

四、安装php7(非编译源码形式安装)

网上很多教程还是安装PHP5,但其实apt-get已经找不到PHP5了,通过执行:

sudo apt-cache search php7.0

就可以找到想要的包了。这里我选择了执行:

sudo apt-get install php7.0-fpm php7.0-mysql

这个php-fpm已经被PHP官方收了,具体和Fastcgi的关系可以自行查阅,当时看的有点糊,后面差不多了解了一些具体关系就清晰不少。

 

接下来配置nginx,不然php无法正常显示。

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

在index index.html … 后面加上一个index.php

增加一段文本

location ~ \.php$ {

       try_files $uri =404;

       include fastcgi_conf;

       fastcgi_index index.php;

       fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name;

       fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;

}

保存并退出。重新加载:

service nginx reload

 

五、安装phpmyadmin

phpmyadmin是一个很方便的mysql管理工具,可以远程在线配置mysql数据库,现在来安装这个工具。

首先,习惯性来执行:

sudo apt-get install phpmyadmin(有的还需要安装php-mbstring php-gettext)

安装完成后,在/var/www/html下是没有的,需要创建一个软连接(类似于文件夹的快捷方式),phpmyadmin默认装在/usr/share/里面的,在/var/www/html目录下,执行:

sudo ln -s /usr/share/phpmyadmin phpmyadmin

然后就可以在html文件夹里面发现了phpmyadmin文件夹。

 

至此通过终端完成了lnmp环境的搭建,下一篇准备安装java和tomcat的配置。(如果笔记中有错误或绕弯路之处,还希望大牛指出,在此感激不已)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux ubuntu 服务器 LNMP SSH