LNMP,表示Linux、Nginx、MySQL、PHP的集合服务器环境,它是基于CentOS/Debian编写的Nginx、PHP、MySQL、phpMyAdmin、eAccelerator一键安装包。可以在云服务器、VPS、独立主机上轻松的安装LNMP生产环境。
Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,它的发音为 “engine X”, 是一个高性能的HTTP和反向代理服务器。在高并发连接的情况下,Nginx是Apache服务器的替代品。Nginx同时也可以作为7层负载均衡服务器来使用。Nginx 0.8.46 + PHP 5.2.14 (FastCGI) 可以承受3万以上的并发连接数,相当于同等环境下Apache的10倍。
本文原文转自米扑博客:腾讯云实验室:搭建 LNMP 环境
准备工作
操作系统环境
系统: CentOS release 6.8 (Final)
内核:Linux VM_124_53_centos 2.6.32-642.6.2.el6.x86_64
CPU:单核
内存:1GB
系统参数
|
1
2
3
4
5
6
7
8
9
|
# uname -aLinux VM_124_53_centos 2.6.32-642.6.2.el6.x86_64 #1 SMP Wed Oct 26 06:52:09 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
# free total used free shared buffers cached
Mem: 1020128 763204 256924 388 43516 537620-/+ buffers/cache: 182068 838060
Swap: 0 0 0# whoamiroot |
安装 lsb_release
yum -y install redhat-lsb
查看系统版本
# lsb_release -a
LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Distributor ID: CentOS
Description: CentOS release 6.8 (Final)
Release: 6.8
Codename: Final
top 命令
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
top - 10:48:57 up 1:26, 1 user, load average: 0.29, 0.45, 0.24
Tasks: 94 total, 1 running, 93 sleeping, 0 stopped, 0 zombieCpu(s): 0.0%us, 0.3%sy, 0.0%ni, 99.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%stMem: 1020128k total, 763180k used, 256948k free, 43548k buffers
Swap: 0k total, 0k used, 0k free, 537724k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 19364 1544 1228 S 0.0 0.2 0:00.69 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
4 root 20 0 0 0 0 S 0.0 0.0 0:00.02 ksoftirqd/0
5 root RT 0 0 0 0 S 0.0 0.0 0:00.00 stopper/0
6 root RT 0 0 0 0 S 0.0 0.0 0:00.00 watchdog/0
7 root 20 0 0 0 0 S 0.0 0.0 0:00.16 events/0
8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 events/0
9 root 20 0 0 0 0 S 0.0 0.0 0:00.00 events_long/0
10 root 20 0 0 0 0 S 0.0 0.0 0:00.00 events_power_ef
11 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cgroup
12 root 20 0 0 0 0 S 0.0 0.0 0:00.00 khelper
|
一、搭建 Nginx 静态服务器
1. 安装 Nginx
yum install nginx -y
2. 修改 /etc/nginx/conf.d/default.conf
去除对 IPv6 地址的监听,可参考下面的代码示例:
vim /etc/nginx/conf.d/default.conf
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
server { listen 80 default_server;
# listen [::]:80 default_server;
server_name _;
root /usr/share/nginx/html;
# 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 {
}
} |
3. 启动 Nginx
nginx
4. 查看网页
可访问实验机器外网 HTTP 服务(http://119.29.116.97)来确认是否已经安装成功。
5. 将 Nginx 设置为开机启动
chkconfig nginx on
6. 查看开机启动的所有进程(chkconfig)
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
# chkconfigabrt-ccpp 0:off 1:off 2:off 3:on 4:off 5:on 6:offabrtd 0:off 1:off 2:off 3:on 4:off 5:on 6:offacpid 0:off 1:off 2:on 3:on 4:on 5:on 6:offatd 0:off 1:off 2:off 3:on 4:on 5:on 6:offauditd 0:off 1:off 2:on 3:on 4:on 5:on 6:offblk-availability 0:off 1:on 2:on 3:on 4:on 5:on 6:offbootlocal 0:off 1:off 2:off 3:on 4:off 5:off 6:offcrond 0:off 1:off 2:on 3:on 4:on 5:on 6:offcups 0:off 1:off 2:on 3:on 4:on 5:on 6:offhtcacheclean 0:off 1:off 2:off 3:off 4:off 5:off 6:offhttpd 0:off 1:off 2:off 3:off 4:off 5:off 6:offip6tables 0:off 1:off 2:off 3:off 4:off 5:off 6:offiptables 0:off 1:off 2:on 3:on 4:on 5:on 6:offirqbalance 0:off 1:off 2:off 3:off 4:off 5:off 6:offkdump 0:off 1:off 2:on 3:on 4:on 5:on 6:offlvm2-monitor 0:off 1:on 2:on 3:on 4:on 5:on 6:offmdmonitor 0:off 1:off 2:on 3:on 4:on 5:on 6:offmessagebus 0:off 1:off 2:on 3:on 4:on 5:on 6:offmysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:offnetconsole 0:off 1:off 2:off 3:off 4:off 5:off 6:offnetfs 0:off 1:off 2:off 3:on 4:on 5:on 6:offnetwork 0:off 1:off 2:on 3:on 4:on 5:on 6:offnfs-rdma 0:off 1:off 2:off 3:off 4:off 5:off 6:offnginx 0:off 1:off 2:off 3:off 4:off 5:off 6:offntpd 0:off 1:off 2:off 3:off 4:off 5:off 6:offntpdate 0:off 1:off 2:off 3:off 4:off 5:off 6:offphp-fpm 0:off 1:off 2:on 3:on 4:on 5:on 6:offportreserve 0:off 1:off 2:on 3:on 4:on 5:on 6:offpostfix 0:off 1:off 2:on 3:on 4:on 5:on 6:offpsacct 0:off 1:off 2:off 3:off 4:off 5:off 6:offquota_nld 0:off 1:off 2:off 3:off 4:off 5:off 6:offrdisc 0:off 1:off 2:off 3:off 4:off 5:off 6:offrdma 0:off 1:off 2:off 3:off 4:off 5:off 6:offrestorecond 0:off 1:off 2:off 3:off 4:off 5:off 6:offrsyslog 0:off 1:off 2:on 3:on 4:on 5:on 6:offsaslauthd 0:off 1:off 2:off 3:off 4:off 5:off 6:offsshd 0:off 1:off 2:on 3:on 4:on 5:on 6:offudev-post 0:off 1:on 2:on 3:on 4:on 5:on 6:off |
二、安装 MySQL 数据库服务
1. 安装 MySQL
yum -y install mysql-server
MariaDB 官方安装教程:MariaDB 10.2 CentOS repository list
CentOS 7 vim /etc/yum.repos.d/MariaDB-10.2.repo
|
1
2
3
4
5
|
[mariadb]name = MariaDBbaseurl = http://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1 |
安装命令:
# yum remove MariaDB-server MariaDB-client
yum -y install MariaDB-client MariaDB-server MariaDB-devel
2. 启动 MySQL 服务
service mysqld restart
3. 设置 MySQL 账户 root 密码
/usr/bin/mysqladmin -u root password 'mimvp-demo'
4. 登录MySQL查看数据库
mysql -u root -p'mimvp-demo'
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
# mysql -u root -p'mimvp-demo'Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 40
Server version: 5.1.73 Source distributionCopyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>mysql>mysql> show databases;+--------------------+| Database |+--------------------+| information_schema || mysql || test |
+--------------------+3 rows in set (0.28 sec)
|
5. 将 MySQL 设置为开机自动启动:
chkconfig mysqld on
三、搭建 PHP 环境
1. 安装 PHP
yum -y install php php-fpm php-mysql
注:CentOS 6 默认已经安装了 PHP-FPM 及 PHP-MYSQL,下面命令执行的可能会提示已经安装。
2. 安装之后,启动 PHP-FPM 进程
service php-fpm start
3. 查看启动的端口号
netstat -nlpt | grep php-fpm
启动之后,可以使用下面的命令查看 PHP-FPM 进程监听哪个端口(默认监听9000端口)
netstat -nlpt | grep php-fpm
|
1
2
|
# netstat -nlpt | grep php-fpmtcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 13894/php-fpm
|
4. 把 PHP-FPM 也设置成开机自动启动:
chkconfig php-fpm on
四、配置 Nginx 并运行 PHP 程序
1. 配置 Nginx
在 /etc/nginx/conf.d 目录中新建一个名为 php.conf 的文件,并配置 Nginx 端口 ,配置示例如下:
vim /etc/nginx/conf.d/php.conf
|
1
2
3
4
5
6
7
8
9
10
11
|
server { listen 8000;
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
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;
}
} |
2. 重启 nginx 服务
service nginx restart
这时候,我们就可以在/usr/share/php 目录下新建一个 info.php 文件来检查 php 是否安装成功了,文件内容参考如下:
vim /usr/share/php/info.php
|
1
2
3
4
|
# cat /usr/share/php/info.php<?php echo phpinfo();
?> |
3. 访问网页
访问 http://119.29.116.97:8000/info.php 可浏览到我们刚刚创建的 info.php 页面了
五、Nginx 应用实例
米扑科技的大多产品,建立在 LNMP 和 LAMP 服务器框架上,示例如下:
米扑科技: http://mimvp.com (LNMP + LAMP)
米扑代理: http://proxy.mimvp.com (LNMP)
米扑支付: http://pay.mimvp.com (LNMP)
米扑财富: http://money.mimvp.com (LNMP)
米扑博客: https://blog.mimvp.com (LAMP)
米扑论坛: http://forum.mimvp.com (LAMP)


