CentOS7.2配置LNMP环境记录

记录:CentOS7.2配置LNMP环境记录

CentOS7.2配置LNMP环境记录

php 5.6+ nginx 1.10+ mysql 5.5+

LNMP是Linux、Nginx、MySQL(MariaDB)和PHP的缩写,这个组合是最常见的WEB服务器的运行环境之一。本文将带领大家在CentOS 7操作系统上搭建一套LNMP环境。

本教程适用于CentOS 7.x版本。

准备工作

更新 yum 源,自带的源没有 PHP5.6 :

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

安装 epel:

yum install epel-release

升级系统

yum update

准备工作完成,开始安装!

安装Nginx

CentOS系统模板中配置了内网源,下载速度较快,推荐使用yum安装Nginx:

sudo yum install nginx

按照提示,输入yes后开始安装。安装完毕后,Nginx的配置文件在/etc/nginx目录下。使用以下命令启动Nginx:

sudo systemctl start nginx

检查系统中firewalld防火墙服务是否开启,如果已开启,我们需要修改防火墙配置,开启Nginx外网端口访问。

sudo systemctl status firewalld

如果显示active (running),则需要调整防火墙规则的配置。

修改/etc/firewalld/zones/public.xml文件,在zone一节中增加:

<zone>
    ...
    <service name="nginx"/>
<zone>

保存后重新加载firewalld服务:

sudo systemctl reload firewalld

您可以通过浏览器访问 http://外网IP地址 来确定Nginx是否已经启动。

注意:很重要!!!

部分童鞋发现按照教程操作最后无法访问,这是云服务器默认关闭了80端口。这个请移步云服务里控制台打开80端口的外网访问,如需步骤,请自行百度!

最后将Nginx设置为开机启动:

sudo systemctl enable nginx.service

这么Nginx就安装成功了!

安装MySQL(MariaDB)

MariaDB是MySQL的一个分支,主要由开源社区进行维护和升级,而MySQL被Oracle收购以后,发展较慢。在CentOS 7的软件仓库中,将MySQL更替为了MariaDB。

我们可以使用yum直接安装MariaDB:

sudo yum install mariadb-server

安装完成之后,执行以下命令重启MariaDB服务:

sudo systemctl start mariadb

MariaDB默认root密码为空,我们需要设置一下,执行脚本:

sudo /usr/bin/mysql_secure_installation

这个脚本会经过一些列的交互问答来进行MariaDB的安全设置。

首先提示输入当前的root密码:

  • Enter current password for root (enter for none):
    初始root密码为空,我们直接敲回车进行下一步。
  • Set root password? [Y/n]
    设置root密码,默认选项为Yes,我们直接回车,提示输入密码,在这里设置您的MariaDB的root账户密码。
  • Remove anonymous users? [Y/n] 是否移除匿名用户,默认选项为Yes,建议按默认设置,回车继续。
  • Disallow root login remotely? [Y/n]
    是否禁止root用户远程登录?如果您只在本机内访问MariaDB,建议按默认设置,回车继续。 如果您还有其他云主机需要使用root账号访问该数据库,则需要选择n。
  • Remove test database and access to it? [Y/n] 是否删除测试用的数据库和权限?
    建议按照默认设置,回车继续。
  • Reload privilege tables now? [Y/n]
    是否重新加载权限表?因为我们上面更新了root的密码,这里需要重新加载,回车。

完成后你会看到Success!的提示,MariaDB的安全设置已经完成。我们可以使用以下命令登录MariaDB:

mysql -uroot -p

按提示输入root密码,就会进入MariaDB的交互界面,说明已经安装成功。

最后我们将MariaDB设置为开机启动。

sudo systemctl enable mariadb

安装PHP

我们可以直接使用yum安装PHP:

sudo yum install php56w-fpm php56w-mysql php56w-mysqli php56w php56w-opcache php56w-gd php56w-intl php56w-mbstring php56w-exif php56w-mcrypt php56w-openssl

//把该安装的一次性装到位

安装完成后我们将php-fpm启动:

sudo systemctl start php-fpm

将php-fpm设置为开机启动:

sudo systemctl enable php-fpm

接下来需要注意了!配置Nginx--多个站点

我给大家提供一个范本作为参考:

nginx.conf
//里面我会详细的给予中文注释
vi /etc/nginx/nginx.conf
//编辑nginx.conf的命令

以下为conf文件内容:

# For more information on configuration, see:
#   * Official English Documentation: http://nginx.org/en/docs/
#   * Official Russian Documentation: http://nginx.org/ru/docs/

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log; #错误日志记录的位置
pid /run/nginx.pid; #nginx.pid为记录nginx主进程pid文件;切勿修改、移动
# Load dynamic modules. See /usr/share/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;
#引入/usr/share/nginx/modules/ 目录下的所有以.conf结尾的文件

events {
    worker_connections 1024;
}

http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 2048;

    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;

    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;
    #这句很重要,引入所有etc/nginx/conf.d/目录下的.conf文件
    
    #***etc/nginx/conf.d/目录存放的就是分站点的文件(下面会给出实例代码)***
    
    server {
        #由于我们的nginx需要配置多站点,所以在此就需要注释一些东西
        
         listen       80 default_server;
         listen       [::]:80 default_server;
        #保留监听的端口  
        # server_name  _;
        # root         /usr/share/nginx/php;

        # Load configuration files for the default server block.
        # include /etc/nginx/default.d/*.conf;

        # location / {
        # }

        # error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
        # location ~ \.php$ {
        # root           /usr/share/php;
        # fastcgi_pass   127.0.0.1:9000;
        # fastcgi_index  index.php;
        # fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        # include        fastcgi_params;
        # }
    }

# Settings for a TLS enabled server.
#
#    server {
#        listen       443 ssl http2 default_server;
#        listen       [::]:443 ssl http2 default_server;
#        server_name  _;
#        root         /usr/share/nginx/html;
#
#        ssl_certificate "/etc/pki/nginx/server.crt";
#        ssl_certificate_key "/etc/pki/nginx/private/server.key";
#        ssl_session_cache shared:SSL:1m;
#        ssl_session_timeout  10m;
#        ssl_ciphers HIGH:!aNULL:!MD5;
#        ssl_prefer_server_ciphers on;
#
#        # Load configuration files for the default server block.
#        include /etc/nginx/default.d/*.conf;
#
#        location / {
#        }
#
#        error_page 404 /404.html;
#            location = /40x.html {
#        }
#
#        error_page 500 502 503 504 /50x.html;
#            location = /50x.html {
#        }
#    }

}

#注意:此份nginx.conf可以直接复制了去使用!~好用了就给博主打个赏钱!谢谢!

配置完nginx之后我们该干啥、?当然是重启nginx呗

service nginx start      #启动nginx

service nginx stop       #停止nginx

service nginx restart    #重启nginx

sudo systemctl reload nginx     #或者执行这条

重启完毕,继续打开 http://外网IP地址 来确定Nginx是否已经启动。

此时,服务器启动的是nginx和apache。

而且php-fpm默认发送到apache。

所以咱们还得继续修改一下php-fpm。

配置 php-fpm

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

#编辑php-fpm配置文件

修改user和group (源代码为:user = apache group = apache)

user = nginx    
group = nginx

修改完了之后,还是老样子,重启php-fpm服务

service php-fpm start      #启动php-fpm

service php-fpm stop       #停止php-fpm

service php-fpm restart    #重启php-fpm

最后,咱们需要为nginx添加站点了

添加站点这我先给大家一个截图,以帮助大家迅速的了解是怎么回事

image1.png

大家应该看的很清楚了,猜都可以猜到,博主这一共配置了三个站点,这三个站点是怎么被nginx引入的呢?

我给大家贴出nginx的配置文件的里面应该有这么一句(注意图中的红框,上面的是地址)
include /etc/nginx/conf.d/*.conf;
#这句很重要,引入所有etc/nginx/conf.d/目录下的.conf文件
#***etc/nginx/conf.d/目录存放的就是分站点的文件(下面会给出实例代码)***

好的,大家应该能准确理解了,如果还是理解不了的话只能缺你回去喝点三鹿了!

下面我给大家贴出nginx站点配置文件的代码,修改修改就可以用

看代码的时候请注意看里面的路径,当然我也还是会给一定的中文注释

#这个文件是上面的qopmall.com.conf
server {

    server_name  qopmall.com www.qopmall.com;#这里就是你要绑定的域名了,空格分开
    location / {
            root   /usr/share/php/weixin; #这里是你站点存放的文件夹名称(也就是说,你当前这个站点的文件全部都丢在这个路径的weixin文件夹里面)
            index  index.php index.html index.htm; #这里照抄即可
        }
    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    location ~ \.php$ {
        root           /usr/share/php/weixin; #这里的配置等同于上面的那个root配置
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /usr/share/php/weixin/$fastcgi_script_name; #这里的配置也是和上面的root配置一样
        include        fastcgi_params;
    }
}

代码非常简单,我没注释到的不用修改就行。

上面的路径,比如/usr/share/php/weixin 这就是你站点的根目录,我给大家截图参考:


image2.png

各位童鞋,创建好站点了,先写个简单的php程序测试一下是否正常,比如info。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,053评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,527评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,779评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,685评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,699评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,609评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,989评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,654评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,890评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,634评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,716评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,394评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,976评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,950评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,191评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,849评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,458评论 2 342

推荐阅读更多精彩内容