LNMP指的是一个基于CentOS/Debian 上安装Nginx、PHP、MySQL、php。可以在独立主机上轻松的安装LNMP生产环境。

1 安装nginx

如果是一台新的服务器可直接安装(若以前安装过apacha和php需要卸载 命令 #yum remove http* php* )

安装命令

yum -y install nginx

启动命令

/etc/init.d/nginx start

刚刚买了服务器,测试发现无法启动报错 ,解决办法将default.conf 后缀改掉,这是一个虚拟主机的配置,,后面我们会详细介绍。

cd /etc/nginx/conf.d
mv default.conf default.conf.back

设置系统启动自动开启

chkconfig --level  nginx on

安装nginx之后,我们要搭建一个虚拟主机,方便外网访问。一台云服务器可以创建多个虚拟主机。运行多个网站。我们可以为不同的域名绑定不同的目录,访问这个域名的时候,会打开对应目录里面的东西。先进入到 nginx 配置文件目录:

cd /etc/nginx/conf.d

新建一个以.conf结尾的配置文件名字最好以你的配置的域名为名称例如 www.baidu.com.conf,下面是一个虚拟主机配置,一般情况下只需要改动域名和代码位置,域名需要在域名管理平台解析,

代码本人习惯放在根目录/home/ 下

server {
listen ;
server_name www.baidu.com;
root /home/baidu;
charset utf-;
#access_log /var/log/nginx/log/host.access.log main; location / {
index index.html index.htm index.php;
try_files $uri $uri/ /index.php?$query_string;
}
#error_page /.html; # redirect server error pages to the static page /50x.html
#
error_page /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
} # proxy the PHP scripts to Apache listening on 127.0.0.1:
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:
#
location ~ \.php$ {
# root html;
fastcgi_pass 127.0.0.1:;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params; client_max_body_size 5000m;
} # deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}

重启 nginx 或者重新加载 nginx 可以让配置文件生效。

service nginx reload
或者
service nginx restart

到根目录/home下,创建代码目录,目录名称必须跟虚拟主机配置项目录名称一致。

cd /home
mkdir baidu
vim baidu/1.html

随便写点什么保存。本人懒推荐****************;现在,打开浏览器,输入你为虚拟主机设置的域名,看看是否能打开你指定的目录里的东西。

2 安装php

根据项目需求安装php版本。php7.0性能高。

1.检查当前安装的PHP包

yum list installed | grep php

如果有安装的PHP包,先删除他们

yum remove php.x86_64 php-cli.x86_64 php-common.x86_64 php-gd.x86_64 php-ldap.x86_64 php-mbstring.x86_64 php-mcrypt.x86_64 php-mysql.x86_64 php-pdo.x86_64

2.配置yum源,根据服务器系统版本选择

Centos 5.X

rpm -Uvh http://mirror.webtatic.com/yum/el5/latest.rpm

​CentOs 6.x

rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm

​CentOs 7.X

rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
​rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

3.运行安装php yum install

安装php5.5

yum install php55w.x86_64 php55w-cli.x86_64 php55w-common.x86_64 php55w-gd.x86_64 php55w-ldap.x86_64 php55w-mbstring.x86_64 php55w-mcrypt.x86_64 php55w-mysql.x86_64 php55w-pdo.x86_64​

安装php5.6

yum install php56w.x86_64 php56w-cli.x86_64 php56w-common.x86_64 php56w-gd.x86_64 php56w-ldap.x86_64 php56w-mbstring.x86_64 php56w-mcrypt.x86_64 php56w-mysql.x86_64 php56w-pdo.x86_64

安装php7.0

yum install php70w.x86_64 php70w-cli.x86_64 php70w-common.x86_64 php70w-gd.x86_64 php70w-ldap.x86_64 php70w-mbstring.x86_64 php70w-mcrypt.x86_64 php70w-mysql.x86_64 php70w-pdo.x86_64

4.安装PHP FPM​

yum install php55w-fpm
yum install php56w-fpm
yum install php70w-fpm

如果你想在系统启动时自动运行php-fpm,输入下列命令:

# chkconfig --level  php-fpm on

第一次启动php-fpm,输入下列命令:

# /etc/init.d/php-fpm restart

现在,我们已经安装了 php-fpm,并修改了 nginx 的配置文件让它可以去执行 php,下面,我们得去测试一下,可以使用 php 的 phpinfo(); 函数,方法是在你的虚拟主机根目录下面,创建一个 php 文件,命名为 phpinfo.php,然后在这个文件里输入:

<?php phpinfo(); ?>

保存并退出,php默认的使用者是apache,需要改为nginx

vim /etc/php-fpm.d/www.conf

将39行 41行的 apache改为nginx

 ; RPM: apache Choosed to be able to access some dir as httpd
user = apache
; RPM: Keep a group allowed to write in log dir.
group = apache
改为
; RPM: apache Choosed to be able to access some dir as httpd
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx

重启nginx

service nginx restart

浏览器打开刚刚的文件,显示php信息

3 安装mysql

安装 mysql
mysql 可以管理网站用到的数据库,WordPress 和 Drupal 也都支持 mysql 数据库。所以我们的 Web 运行环境里,需要安装一个 mysql 。直接使用 yum 命令去安装 mysql :

yum install mysql-server

安装完成后,使用 service 命令启动 mysql 服务:

service mysqld start

然后我们需要简单配置一下 mysql ,默认安装以后 mysql 的 root 用户是没有密码的,对于生产环境来说,这肯定是不行的,另外还有一些安全相关的设置,可以使用下面这行命令去配置一下,它是一个向导,问你一些问题,你要给出答案,比如是否要设置 root 用户的密码, 密码是什么等等。

mysql_secure_installation
Enter current password for root (enter for none):
解释:输入当前 root 用户密码,默认为空,直接回车。
Set root password? [Y/n] y
解释:要设置 root 密码吗?输入 y 表示愿意。
Remove anonymous users? [Y/n] y
解释:要移除掉匿名用户吗?输入 y 表示愿意。
Disallow root login remotely? [Y/n] y
解释:不想让 root 远程登陆吗?输入 y 表示愿意。
Remove test database and access to it? [Y/n] y
解释:要去掉 test 数据库吗?输入 y 表示愿意。
Reload privilege tables now? [Y/n] y
解释:想要重新加载权限吗?输入 y 表示愿意。

CentOS下开启mysql远程连接, 当服务器没有运行php、没装phpmyadmin的时候,远程管理mysql就显得有必要了。

远程管理数据库方式有两种

1 普通链接通过3306端口链接
mysql -u root -p
在mysql控制台执行:

grant all privileges on *.* to 'root'@'%' identified by '' with grant option;

# root是用户名,%代表任意主机,'root'指定的登录密码(这个和本地的root密码可以设置不同的,互不影响)

flush privileges;# 重载系统权限
exit;

*****允许3306端口****

iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport  -j ACCEPT

# 查看规则是否生效

iptables -L -n # 或者: service iptables status

# 此时生产环境是不安全的,远程管理之后应该关闭端口,删除之前添加的规则
iptables -D INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
PS,上面iptables添加/删除规则都是临时的,如果需要重启后也生效,需要保存修改:

service iptables save # 或者: /etc/init.d/iptables save

另外,
vi /etc/sysconfig/iptables # 加上下面这行规则也是可以的
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

2 通过ssh等通道连接

我使用的是navicae工具

在这里填上服务器远程链接信息

在这里填上服务器上的数据库密码就可以了。

服务器远程连接工具推荐xshell,sftp,写代码推荐phpstorm;大神们喜欢用vi直接在服务器上写代码,但是我还是喜欢这些工具, 工具是人类进步的阶梯嘛!

搭建lnmp教程的更多相关文章

  1. Ubuntu18.04下搭建LNMP教程-超详细图文(Nginx+MySQL+PHP含各种解决报错问题)

     笔者最近在VM15.0上安装了Ubuntu18.,先来安装一个LNMP(Nginx+MySQL+PHP)网站服务器架构,为后续的实验做准备~    LNMP是指一组通常一起使用来运行动态网站或者服务 ...

  2. centos7 yum搭建lnmp环境及配置wordpress超详细教程

    yum安装lnmp环境是最方便,最快捷的一种方法.源码编译安装需要花费大量的人类时间,当然源码编译可以个性化配置一些其它功能.目前来说,yum安装基本满足我们搭建web服务器的需求. 本文是我根据近期 ...

  3. Vmware搭建LNMP环境(Centos7+Nginx+Mysql+PHP7.1.8)

    参考:1.Linux学习之CentOS(一)----在VMware虚拟机中安装CentOS 7(图文教程) 2.Centos7搭建LNMP环境 3.MySQL5.7修改默认root密码 4.CentO ...

  4. 在Linux CentOS7系统中搭建LNMP

    LNMP就是Linux+Nginx+MySQL+PHP,既然是在Linux CentOS7那么Linux就是已经安装好了.所以接下百度一下接下来的教程,整理测试如下: 教程是centos6.2的有点老 ...

  5. 腾讯云,搭建LNMP环境

    LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构. Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统.代表版本有:debian.centos ...

  6. 用Docker搭建LNMP

    程序员经常会说的一句话:在我的机器上是正常的,肯定是你的机器有问题.因此,Docker诞生了,它把应用所需要的一切东西都打包,从而可以很方便地进行部署. Docker 的主要用途,目前有三大类: 提供 ...

  7. CentOS7——搭建LNMP环境(WordPress案例)

    CentOS7--搭建LNMP环境(WordPress案例) LNMP组成介绍 LNMP(Linux-Nginx-MySQL-PHP)网站架构是目前国际流行的Web框架,该框架包括:Linux操作系统 ...

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

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

  9. 树莓派Odroid等卡片式电脑上搭建NAS教程系列6-miniDLNA

    目录: 1. 树莓派Odroid等卡片式电脑上搭建NAS教程系列1-Ubuntu系统安装 2. 树莓派Odroid等卡片式电脑上搭建NAS教程系列2-SSH连接访问 3. 树莓派Odroid等卡片式电 ...

随机推荐

  1. python从2.7升级到3.5 需要主要的问题

    今天鼓足勇气把我们python从2.7升级到3.5.我用的是pycharm开发工具.升级过程遇到一些问题小结下: 1.右击项目: 找到左侧 project interpreter选项,配置项目开发环境 ...

  2. JavaScript学习笔记(十一)——闭包

    在学习廖雪峰前辈的JavaScript教程中,遇到了一些需要注意的点,因此作为学习笔记列出来,提醒自己注意! 如果大家有需要,欢迎访问前辈的博客https://www.liaoxuefeng.com/ ...

  3. JDK8新特性一览

    转载自:http://blog.csdn.net/qiubabin/article/details/70256683 官方新特性说明地址 Jdk8新特性.png 下面对几个常用的特性做下重点说明. 一 ...

  4. 编程语言的基础——搞定JavaIO

    关键字:IO基础,JUnit生命周期,字节流,字符流,字符编码,对象流,序列化,反序列化 Java I/O 流是一组有顺序的,有起点和终点的字节集合.是对设备文件间数据传输的总称和抽象. 在IO中涉及 ...

  5. 【html】01_html的介绍

    [HTML专修介绍] 定义: HTML(HypertextMarkup Language),超文本标记语言 如何理解: (意思就是超越了文本,还能兼容图片,视频,声音字节) 它的主要用处是什么? 就是 ...

  6. # WPF动画速率效果

    在WPF中使用动画的情况非常多,而要让动画变得生动往往要使用一些变速动画,WPF也内置了很方便的缓动函数来实现这一功能. 除此之外,WPF还有关键帧动画,利用关键帧动画能够很好的控制动画的细节,与美工 ...

  7. Android OpenGL ES 开发(一): OpenGL ES 介绍

    简介OpenGL ES 谈到OpenGL ES,首先我们应该先去了解一下Android的基本架构,基本架构下图: 在这里我们可以找到Libraries里面有我们目前要接触的库,即OpenGL ES. ...

  8. shell自动化巡检

    #!/bin/bash#主机信息每日巡检 IPADDR=$(ifconfig eth0|grep 'inet addr'|awk -F '[ :]' '{print $13}')#环境变量PATH没设 ...

  9. Centos7.0 安装 oracle 11g 以及相关问题解决

    参考其他的资源和自己实践内容总结出来的流程

  10. HDU2186--水

    悼念512汶川大地震遇难同胞--一定要记住我爱你 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java ...