阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

CentOS下源码编译安装LNMP(附源码包)

430次阅读
没有评论

共计 7145 个字符,预计需要花费 18 分钟才能阅读完成。

简介

LNMP 指的是一个基于 CentOS/Debian 编写的 Nginx、PHP、MySQL、phpMyAdmin、eAccelerator 一键安装包。可以在 VPS、独立主机上轻松的安装 LNMP 生产环境。LNMP 代表的就是:Linux 系统下 Nginx+MySQL+PHP 这种网站服务器架构。Linux 是一类 Unix 计算机操作系统的统称,是目前最流行的免费操作系统。代表版本有:debian、centos、Ubuntu、Fedora、gentoo 等;Nginx 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器;Mysql 是一个小型关系型数据库管理系统;PHP 是一种在服务器端执行的嵌入 HTML 文档的脚本语言。这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统。

特点

Nginx 是一个小巧而高效的 Linux 下的 Web 服务器软件,是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler 站点开发的,已经在一些俄罗斯的大型网站上运行多年,相当的稳定。Nginx 性能稳定、功能丰富、运维简单、处理静态文件速度快且消耗系统资源极少。

实验环境

  • 系统环境:CentOS 6.5
  • 宿主机 IP 地址:192.168.100.20
  • yum 挂载目录:/mnt/sr0
  • 相关源码包下载地址:

相关资料可从以下信息得到下载:

点击这个 http://www.linuxidc.com/Linux/2013-12/93755.htm 链接 关注 Linux 公社官方微信,关注后回复数字153648。即可得到网友的分享密码。

如果取消关注 Linux 公社公众号,即使再次关注,也将无法提供本服务!

链接:https://pan.baidu.com/s/1CaWnBVu_UIdE-A36ZJU2bw 密码:获得见上面的方法,地址失效请在下面留言。

一、Nginx 安装

1、准备工作,关闭防火墙及 selinux

[root@raid ~]# chkconfig iptables off #随开机关闭 iptables
[root@raid ~]# vim /etc/sysconfig/selinux
CentOS 下源码编译安装 LNMP(附源码包)

[root@raid ~]# reboot #重启 Linux 生效

2、安装相关工具包

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

3、创建 Nginx 进程用户

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

4、配置、编译及编译安装 Nginx 源码包

[root@raid ~]# tar xvf nginx-1.6.0.tar.gz -C /usr/src/
[root@raid ~]# cd /usr/src/nginx-1.6.0/
[root@raid nginx-1.6.0]# ./configure \
–prefix=/usr/local/nginx \
–user=nginx –group=nginx \
–with-http_stub_status_module

参数解析:

prefix #指定安装位置
user=nginx #指定 nginx 系统用户
group=nginx #指定组
with-http_stub_status_module #指定统计模块

[root@raid nginx-1.6.0]# make && make install

5、优化路径

[root@raid nginx-1.6.0]# ln -s /usr/local/nginx/sbin/* /usr/local/sbin/

6、启动 Nginx 服务

[root@raid ~]# vim /usr/local/nginx/conf/nginx.conf #修改主配置文件
CentOS 下源码编译安装 LNMP(附源码包)

[root@raid ~]# nginx -t #测试配置是否有语法错误
CentOS 下源码编译安装 LNMP(附源码包)

[root@raid ~]# nginx #启动 Nginx
[root@raid ~]# netstat -anpt | grep “:80” #检测服务是否启动
[root@raid ~]# cat /usr/local/nginx/logs/nginx.pid #查看 pid
CentOS 下源码编译安装 LNMP(附源码包)

7、停止 Nginx 服务

[root@raid ~]# kill -1 29050 #平滑重启 Nginx 服务。相当于 killall -s HUP nginx;nginx -s reload
[root@raid ~]# kill -3 29050 #关闭 Nginx 服务。相当于 killall -s QUIT nginx;nginx -s quit
[root@raid ~]# nginx #重启服务
[root@raid ~]# cat /usr/local/nginx/logs/nginx.pid #查看 pid 号
CentOS 下源码编译安装 LNMP(附源码包)

8、编辑 Nginx 服务脚本

[root@raid ~]# vim /etc/init.d/nginx

添加以下脚本:

#!/bin/bash
# chkconfig: 35 99 20
# description:Nginx Server Control Script
PROG=”/usr/local/sbin/nginx”
PIDF=”/usr/local/nginx/logs/nginx.pid”
case “$1” in
start)
$PROG
;;
stop)
kill -s QUIT $(cat $PIDF)
;;
restart)
$0 stop
$0 start
;;
reload)
kill -s HUP $(cat $PIDF)
;;
*)
echo “Usage: $0 (start|stop|restart|reload)”
exit 1 # 非正常退出
esac
exit 0 # 正常退出

[root@raid ~]# chmod +x /etc/init.d/nginx #赋予权限
[root@raid ~]# chkconfig –add nginx #添加系统服务

二、Mysql 安装

1、卸载 PRM 方式的 mysql-server、mysql

[root@raid ~]# rpm -qa | grep mysql
CentOS 下源码编译安装 LNMP(附源码包)

2、安装相应工具包

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

3、创建进程用户 mysql

[root@raid ~]# useradd -s /sbin/nologin mysql

4、解压、配置安装 mysql

[root@raid ~]# tar xzvf mysql-5.5.24.tar.gz
[root@raid ~]# cd mysql-5.5.24
[root@raid mysql-5.5.24]# cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DSYSCONFDIR=/etc \
-DMYSQL_DATADIR=/home/mysql/ \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_SSL=system \
-DMYSQL_TCP_PORT=3306 \
-DENABLE_DOWNLOADS=1 \
-DWITH_SSL=bundled

解析:

DCMAKE_INSTALL_PREFIX:mysql 软件安装位置
DDEFAULT_CHARSET:默认字符集
DDEFAULT_COLLATION:默认字符校验
DWITH_EXTRA_CHARSETS:额外的编码,请使用 ALL 来编译
DWITH_MYISAM_STORAGE_ENGINE:安装 myisam 存储引擎
DWITH_INNOBASE_STORAGE_ENGINE:安装 innodb 存储引擎
DWITH_MEMORY_STORAGE_ENGINE:安装 memory 存储引擎
DWITH_READLINE:支持 readline 库,支持一行行读取数据
DENABLED_LOCAL_INFILE:启用本地加载数据
DMYSQL_DATADIR:数据目录
DMYSQL_USER:指定 mysql 的运行用户
DMYSQL_TCP_PORT=3306:mysql 的端口号默认是 3306

[root@raid mysql-5.5.24]# make && make install

5、修改 mysql 安装目录的所有者,所属组

[root@localhost mysql-5.5.24]# chown -R mysql:mysql /usr/local/mysql/

6、创建修改 my.cnf 配置文件

[root@localhost mysql-5.5.24]# cp support-files/my-medium.cnf /etc/my.cnf

7、添加系统服务

[root@localhost mysql-5.5.24]# vim /etc/profile #修改系统环境变量

最后一行添加:

export PATH=$PATH:/usr/local/mysql/bin/

[root@localhost mysql-5.5.24]# source /etc/profile #重新读取系统环境变量

[root@localhost mysql-5.5.24]# cp support-files/mysql.server /etc/init.d/mysqld #添加系统服务
[root@localhost mysql-5.5.24]# chmod +x /etc/init.d/mysqld #添加执行权限
[root@localhost mysql-5.5.24]# chkconfig –add mysqld #将 mysqld 添加为系统服务

8、初始化数据库

[root@localhost mysql-5.5.24]# /usr/local/mysql/scripts/mysql_install_db \
–user=mysql \
–ldata=/var/lib/mysql \
–basedir=/usr/local/mysql \
–datadir=/home/mysql

解析:

user:指定数据库管理员,也就是是谁管理数据库
basedir:指定 mysql 软件安装位置
datadir:指定 mysql 数据安装位置

[root@localhost mysql-5.5.24]# vim /etc/init.d/mysqld

找到 basedir、datadir 进行赋值

basedir=/usr/local/mysql #约 46 行数据库安装目录
datadir=/home/mysql #约 47 行数据存放目录

9、重新启动数据库

[root@localhost mysql-5.5.24]# service mysqld start
[root@localhost mysql-5.5.24]# netstat -anpt | grep 3306 #查看端口

CentOS 下源码编译安装 LNMP(附源码包)

10、访问 mysql

[root@localhost ~]# mysqladmin -u root password ‘123’# 设置新密码
[root@localhost ~]# mysql -uroot -p123 #登录 mysql
CentOS 下源码编译安装 LNMP(附源码包)

三、安装 PHP

1、安装 GD 库关联程序

[root@localhost ~]# yum install \
libjpeg-devel \
libpng-devel \
freetype-devel \
zlib-devel \
gettext-devel \
libXpm-devel \
libxml2-devel \
fontconfig-devel \
openssl-devel \
openssl-devel \
bzip2-devel \
libxml2 \
libxml2-devel

2、解压、配置安装 gd(用来处理和生成图片)

[root@localhost ~]# tar xzvf gd-2.0.35.tar.gz -C /usr/src/
[root@localhost ~]# cd /usr/src/gd/2.0.35/
[root@localhost 2.0.35]# ./configure –prefix=/usr/local/gd
[root@localhost 2.0.35]# make && make install

3、解压配置安装 php

[root@localhost ~]# tar xjvf php-5.4.5.tar.bz2 -C /usr/src
[root@localhost ~]# cd /usr/src/php-5.4.5/
[root@raid php-5.4.5]# ./configure \
–prefix=/usr/local/php5 \
–with-gd \
–with-zlib \
–with-mysql=/usr/local/mysql \
–with-config-file-path=/usr/local/php5 \
–enable-mbstring \
–with-jpeg-dir \
–with-openssl \
–disable-ipv6 \
–enable-fpm
[root@raid php-5.4.5]# make && make install

4、创建 PHP 配置文件

[root@raid php-5.4.5]# cp php.ini-development /usr/local/php5/php.ini

5、优化路径

[root@raid php-5.4.5]# ln -s /usr/local/php5/bin/ /usr/local/bin/
[root@raid php-5.4.5]# ln -s /usr/local/php5/sbin/
/usr/local/sbin/

6、为 PHP 安装加速器

[root@raid ~]# tar xvfz ZendGuardLoader-php-5.3-linux-glibc23-i386.tar.gz
[root@raid ~]# cd ZendGuardLoader-php-5.3-linux-glibc23-i386/php-5.3.x/
[root@Nginx php-5.3.x]# cp ZendGuardLoader.so /usr/local/php5/lib/php/ #复制 ZendGuardLoader 模块至 php 目录下

7、配置 PHP 识别加速器

[root@raid ~]# vim /usr/local/php5/php.ini

末行添加:

[Zend Guard Loader]
zend_extension=/usr/local/php5/lib/php/ZendGuardLoader.so
zend_loader.enable=1

8、开启 nginx 的 PHP 支持

[root@raid ~]# cd /usr/local/php5/etc/
[root@raid etc]# cp php-fpm.conf.default php-fpm.conf
[root@raid etc]# useradd -M -s /sbin/nologin php
[root@raid etc]# vim php-fpm.conf #模块化进程管理工具

修改以下参数:

pid = run/php-fpm.pid# 在 25 行去掉注释,确定 pid 文件的位置
user = php #在 140 行指定用户
group = php #
pm.max_children = 50 #在 217 行,最多扩延进程数量,先改为 50,一个水桶,它代表桶的容积
pm.start_servers = 20 #222 行,开启的进程数,改成 20,启动时,开启的进程数
pm.min_spare_servers = 5 #227 行,最少空闲进程数是 5,低于这个数,每秒钟会产生一个新的进程
pm.max_spare_servers = 20 #232 行,最多允许的空间进程数,客户不连接 PHP,最多允许的空间进程数

9、启动 php-fpm

[root@raid ~]# /usr/local/sbin/php-fpm
[root@raid ~]# netstat -lntup | grep 9000
CentOS 下源码编译安装 LNMP(附源码包)

10、编辑 nginx 主配置文件

[root@raid ~]# vim /usr/local/nginx/conf/nginx.conf

将 PHP 网页请求,转给 FPM 模块处理:

location ~ .php$ {
root /var/www/html/btcom; # PHP 站点目录
fastcgi_pass 127.0.0.1:9000; # php-fpm 监听地址
fastcgi_index index.php; # 识别的首页文件
include fastcgi.conf; # 包含 fastcgi.conf 样本配置
}

[root@raid ~]# mkdir -p /var/www/html/btcom #创建站点目录
[root@raid ~]# service nginx restart #重启服务

四、测试

1、测试 php 网页能否正常显示

[root@raid ~]# vim /var/www/html/btcom/index.php

添加以下内容:

<?php
phpinfo();
?>

CentOS 下源码编译安装 LNMP(附源码包)

2、测试 PHP 网页能访问 MySQL 服务器

[root@raid ~]# vim /var/www/html/btcom/index.php

添加以下内容:

<?php
$link=mysql_connect(‘localhost’,’root’,’123′);
if($link) echo “Welcome to Mysql”;
mysql_close();
?>

CentOS 下源码编译安装 LNMP(附源码包)

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计7145字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7992933
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
如何免费使用强大的Nano Banana Pro?附赠邪修的用法

如何免费使用强大的Nano Banana Pro?附赠邪修的用法

如何免费使用强大的 Nano Banana Pro?附赠邪修的用法 前言 大家好,我是星哥,今天来介绍谷歌的 ...
如何安装2026年最强个人助理ClawdBot、完整安装教程

如何安装2026年最强个人助理ClawdBot、完整安装教程

如何安装 2026 年最强个人助理 ClawdBot、完整安装教程 一、前言 学不完,根本学不完!近期,一款名...
星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛 NAS 硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话? 前言 在选择 NAS 用预...
星哥带你玩飞牛NAS-7:手把手教你免费内网穿透-Cloudflare tunnel

星哥带你玩飞牛NAS-7:手把手教你免费内网穿透-Cloudflare tunnel

星哥带你玩飞牛 NAS-7:手把手教你免费内网穿透 -Cloudflare tunnel 前言 大家好,我是星...
星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的NAS中!

星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的NAS中!

星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的 NAS 中! 大家对「数据安全感」的需求越来越高 ...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你 为什么要用宝塔跑分? 宝塔跑分其实就是对 CPU、内存、磁盘、IO 做...
星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的NAS中!

星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的NAS中!

星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的 NAS 中! 大家对「数据安全感」的需求越来越高 ...
星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛 NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手! 作为动漫爱好者,你是否还在为...
星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定!

星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定!

星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定! 前言 作为 NAS 玩家,你是否总被这些...
开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

  开源 MoneyPrinterTurbo 利用 AI 大模型,一键生成高清短视频! 在短视频内容...