前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CentOS下源码编译安装LNMP(附源码包)

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

作者头像
星哥玩云
发布2022-07-14 09:47:49
1.6K0
发布2022-07-14 09:47:49
举报
文章被收录于专栏:开源部署开源部署

简介

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
  • 相关源码包下载地址:

一、Nginx安装

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

[root@raid ~]# chkconfig iptables off #随开机关闭iptables [root@raid ~]# vim /etc/sysconfig/selinux

CentOS下源码编译安装LNMP(附源码包)
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(附源码包)
CentOS下源码编译安装LNMP(附源码包)

[root@raid ~]# nginx -t #测试配置是否有语法错误

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

[root@raid ~]# nginx #启动Nginx [root@raid ~]# netstat -anpt | grep ":80" #检测服务是否启动 [root@raid ~]# cat /usr/local/nginx/logs/nginx.pid #查看pid

CentOS下源码编译安装LNMP(附源码包)
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(附源码包)
CentOS下源码编译安装LNMP(附源码包)
8、编辑Nginx服务脚本

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

添加以下脚本: #!/bin/bash# chkconfig: 35 99 20# description:Nginx Server Control ScriptPROG="/usr/local/sbin/nginx"PIDF="/usr/local/nginx/logs/nginx.pid"case "(cat PIDF);;restart)0 stop0 start;;reload)kill -s HUP (cat PIDF);;*)echo "Usage:

[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(附源码包)
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(附源码包)
CentOS下源码编译安装LNMP(附源码包)
10、访问mysql

[root@localhost ~]# mysqladmin -u root password '123'#设置新密码 [root@localhost ~]# mysql -uroot -p123 #登录mysql

CentOS下源码编译安装LNMP(附源码包)
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(附源码包)
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(附源码包)
CentOS下源码编译安装LNMP(附源码包)
2、测试PHP网页能访问MySQL服务器

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

添加以下内容: <?php

CentOS下源码编译安装LNMP(附源码包)
CentOS下源码编译安装LNMP(附源码包)
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 特点
  • 实验环境
  • 一、Nginx安装
    • 1、准备工作,关闭防火墙及selinux
      • 2、安装相关工具包
        • 3、创建Nginx进程用户
          • 4、配置、编译及编译安装Nginx源码包
            • 5、优化路径
              • 6、启动Nginx服务
                • 7、停止Nginx服务
                  • 8、编辑Nginx服务脚本
                  • 二、Mysql安装
                    • 1、卸载PRM方式的mysql-server、mysql
                      • 2、安装相应工具包
                        • 3、创建进程用户mysql
                          • 4、解压、配置安装mysql
                            • 5、修改mysql安装目录的所有者,所属组
                              • 6、创建修改my.cnf配置文件
                                • 7、添加系统服务
                                  • 8、初始化数据库
                                    • 9、重新启动数据库
                                      • 10、访问mysql
                                      • 三、安装PHP
                                        • 1、安装GD库关联程序
                                          • 2、解压、配置安装gd(用来处理和生成图片)
                                            • 3、解压配置安装php
                                              • 4、创建PHP配置文件
                                                • 5、优化路径
                                                  • 6、为PHP安装加速器
                                                    • 7、配置PHP识别加速器
                                                      • 8、开启nginx的PHP支持
                                                        • 9、启动php-fpm
                                                          • 10、编辑nginx主配置文件
                                                          • 四、测试
                                                            • 1、测试php网页能否正常显示
                                                              • 2、测试PHP网页能访问MySQL服务器
                                                              相关产品与服务
                                                              云数据库 SQL Server
                                                              腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
                                                              领券
                                                              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档