配置基础的 LNMP 架构

本文详细介绍在CentOS7.6上从零开始搭建LNMP(Linux+Nginx+MySQL+PHP)环境的过程,包括关闭防火墙、编译安装Nginx、MySQL、PHP,以及配置服务和测试动态页面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基础的 LNMP 架构
L :Linux,N :Nginx,M :MySQL,P :PHP

一.本次实验使用环境

1.使用系统为Centos 7.6,可以使用一下命令查看版本

[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)

2.使用Nginx-1.14.0
3.使用MySQL-5.5.20
4.使用PHP-5.6.9

二.安装 LNMP 架构环境

1.先关闭CentOS系统防火墙

[root@localhost nginx-1.14.0]# systemctl stop firewalld

2.安装Nginx-1.14.0
①.安装PCRE库和基础库支持

[root@localhost ~]# yum install pcre-devel pcre gcc-c++ openssl openssl-devel zlib-devel -y

②.下载nginx-1.14.0源码包

[root@localhost ~]# wget -c http://nginx.org/download/nginx-1.14.0.tar.gz

③解压nginx-1.14.0源码包

[root@localhost ~]# tar -xzf nginx-1.14.0.tar.gz

④.创建nginx启动用户

[root@localhost ~]# useradd -s /sbin/nologin nginx

⑤.进入nginx-1.14.0,进行预编译

[root@localhost ~]# cd nginx-1.14.0
[root@localhost nginx-1.14.0]# ./configure 
--user=nginx 
--group=nginx 
--prefix=/data/nginx 
--with-http_stub_status_module 
--with-http_ssl_module

⑥.编译与编译安装

[root@localhost nginx-1.14.0]# make && make install

⑦.检查nginx配置文件是否正确

[root@localhost nginx-1.14.0]# /data/nginx/sbin/nginx -t
nginx: the configuration file /data/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /data/nginx/conf/nginx.conf test is successful

⑧启动nginx

[root@localhost nginx-1.14.0]# /data/nginx/sbin/nginx

3.安装MySQL-5.5.20
①.安装编译需要的依赖

[root@localhost ~]# yum install cmake ncurses-devel ncurses libaio bison git gcc-c++ -y

②.下载MySQL-5.5.20源码包

[root@localhost ~]# wget -c http://down1.chinaunix.net/distfiles/mysql-5.5.20.tar.gz

③.解压MySQL-5.5.20源码包

[root@localhost ~]# tar -xzf mysql-5.5.20.tar.gz

④.进入MySQL-5.5.20,进行预编译

[root@localhost ~]# cd mysql-5.5.20
[root@localhost mysql-5.5.20]# cmake . 
> -DCMAKE_INSTALL_PREFIX=/usr/local/mysql55 \
> -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
> -DMYSQL_DATADIR=/data/mysql \
> -DSYSCONFDIR=/etc \
> -DMYSQL_USER=mysql \
> -DMYSQL_TCP_PORT=3306 \
> -DWITH_XTRADB_STORAGE_ENGINE=1 \
> -DWITH_INNOBASE_STORAGE_ENGINE=1 \
> -DWITH_PARTITION_STORAGE_ENGINE=1 \
> -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
> -DWITH_MYISAM_STORAGE_ENGINE=1 \
> -DWITH_READLINE=1 \
> -DENABLED_LOCAL_INFILE=1 \
> -DWITH_EXTRA_CHARSETS=1 \
> -DDEFAULT_CHARSET=utf8 \
> -DDEFAULT_COLLATION=utf8_general_ci \
> -DEXTRA_CHARSETS=all \
> -DWITH_BIG_TABLES=1 \
> -DWITH_DEBUG=0 \
> -DENABLE_DTRACE=0

⑤.编译与编译安装

[root@localhost mysql-5.5.20]# make && make install

⑥.编辑MySQL文件权限与配置文件,并启动

[root@localhost mysql-5.5.20]# cd /usr/local/mysql55
[root@localhost mysql55]# \cp -f support-files/my-large.cnf /etc/my.cnf
[root@localhost mysql55]# \cp -f support-files/mysql.server /etc/init.d/mysqld
[root@localhost mysql55]# chkconfig --add mysqld
[root@localhost mysql55]# chkconfig --level 35 mysqld on
[root@localhost mysql55]# mkdir -p /data/mysql
[root@localhost mysql55]# useradd -s /sbin/nologin mysql
[root@localhost mysql55]# /usr/local/mysql55/scripts/mysql_install_db --user=mysql --datadir=/data/mysql/ --basedir=/usr/local/mysql55/
[root@localhost mysql55]# ln -s /usr/local/mysql55/bin/* /usr/bin/
[root@localhost mysql55]# service mysqld start

4.安装PHP-5.6.9源码包
①.安装编译需要的依赖

[root@localhost ~]# yum install gd curl curl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel mysql-devel -y

②.下载PHP-5.6.9源码包

[root@localhost ~]# wget -c http://museum.php.net/php5/php-5.6.9.tar.gz

③.解压PHP-5.6.9源码包

[root@localhost ~]# tar -xzf php-5.6.9.tar.gz

④.进入PHP-5.6.9源码包,进行预编译

[root@localhost ~]# cd php-5.6.9
[root@localhost php-5.6.9]# ./configure 
--prefix=/usr/local/php5 
--enable-fpm 
--enable-debug 
--with-gd 
--with-jpeg-dir 
--with-png-dir 
--with-freetype-dir 
--enable-mbstring 
--with-curl 
--with-mysql=/usr/local/mysql55/ 
--with-mysqli=/usr/local/mysql55/bin/mysql_config 
--disable-fileinfo

⑤.编译与编译安装

[root@localhost php-5.6.9]# make && make install

⑥.编辑PHP文件权限与配置文件,并启动

[root@localhost php-5.6.9]# \cp php.ini-development /usr/local/php5/lib/php.ini
[root@localhost php-5.6.9]# \cp /usr/local/php5/etc/php-fpm.conf.default /usr/local/php5/etc/php-fpm.conf
[root@localhost php-5.6.9]# \cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
[root@localhost php-5.6.9]# chmod 755 /etc/init.d/php-fpm
[root@localhost php-5.6.9]# chkconfig --add php-fpm
[root@localhost php-5.6.9]# chkconfig php-fpm on

三.修改服务配置文件

1.修改 php-fpm.conf 配置文件

[root@localhost php-5.6.9]# vim /usr/local/php5/etc/php-fpm.conf

25 ;pid = run/php-fpm.pid   #原来
25 pid = run/php-fpm.pid   #修改为

148 user = nobody   #原来
149 group = nginx   #修改为

149 group = nobody   #原来
148 user = nginx   #修改为

2.修改 nginx.conf 配置文件

[root@localhost php-5.6.9]#  vim /data/nginx/conf/nginx.conf

修改为

user  nginx;
worker_processes  1;

events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    server {
        listen       80;
        server_name  localhost;
        location / {
        root   /data/nginx/html;
        index  index.html index.php;
        }
location ~ \.php$ {
		root           html;
		fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
		fastcgi_param  SCRIPT_FILENAME  /data/nginx/html$fastcgi_script_name; 
        include        fastcgi_params;
		}
	}
}

四.添加动态页面进行测试

1.在Nginx中添加 index.php 页面

[root@localhost conf]# cat >/data/nginx/html/index.php<<EOF
<?php
phpinfo();
?>
EOF

2.重启 php 与 nginx 服务,使其配置文件生效

[root@localhost nginx]# service php-fpm restart
[root@localhost nginx]# /data/nginx/sbin/nginx -s reload

3.访问 nginx/index.php 测试页面
测试页面
4.检查 php 能否连接 MySQL 数据库
①.修改MySQL密码

[root@localhost html]# mysql
mysql> grant all on *.* to root@localhost identified by "123";
Query OK, 0 rows affected (0.00 sec)

②.创建 mysql.php 测试页面

Vim /usr/local/nginx/html/mysql.php

<?php 
$link=mysql_connect("localhost","root","123"); 
if(!$link) echo "FAILD!连接错误,用户名密码不对"; 
else echo "OK!可以连接"; 
?>

③.测试 mysql.php 页面是否可访问,访问成功说明 PHP与MySQL已连接
mysql.php测试页面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值