开发者

Centos7下构建LNMP平台全过程

开发者 https://www.devze.com 2025-09-24 10:04 出处:网络 作者: jingxian
目录一、准备环境环境源码包二、搭建LNMP1.编php译安装Nginx1.1 下载安装Nginx所需依赖包1.2 添加用户1.3 编译安装1.4 路径优化1.5 检查配置文件1.6 开启服务2.编译安装mysql2.1 下载安装MySQL所需依赖包2.2 添加用户
目录
  • 一、准备环境
    • 环境
    • 源码包
  • 二、搭建LNMP
    • 1.编php译安装Nginx
      • 1.1 下载安装Nginx所需依赖包
      • 1.2 添加用户
      • 1.3 编译安装
      • 1.4 路径优化
      • 1.5 检查配置文件
      • 1.6 开启服务
    • 2.编译安装mysql
      • 2.1 下载安装MySQL所需依赖包
      • 2.2 添加用户
      • 2.3 编译安装
      • 2.4 递归修改文件属主和属组
      • 2.5 修改配置文件
      • 2.6 配置环境变量
      • 2.7 初始化数据库
      • 2.8 开启服务
      • 2.9 修改mysql数据库密码
    • 3.编译安装php
      • 3.1 下载安装PHP所需依赖包
      • 3.2 编译安装
      • 3.3 修改配置文件
      • 3.4 修改核心配置文件
      • 3.5 启动PHP
      • 3.6 让Nginx支持PHP
      • 3.7 重启nginx,查看服务
  • 总结

    一、准备环境

    环境

    [root@localhost ~]# cat /etc/Centos-release  //发行版本
    CentOS linux release 7.6.1810 (Core)
    [root@localhost ~]# uname -r    //内核
    3.10.0-957.el7.x86_64
    

    源码包

    [root@localhost opt]# ls
    discuz_X3.4_SC_UTF8.zip  mysql-boost-5.7.20.tar.gz  nginx-1.15.9.tar.gz  php-7.1.10.tar.bz2  rh
    [root@localhost opt]# 
    
    

    二、搭建LNMP

    1.编译安装Nginx

    1.1 下载安装Nginx所需依赖包

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

    1.2 添加用户

    Nginx服务程序默认以nobody身份运行,建议为其创建专门的用户账号,以便更准确地控制其访问权限,增加灵活性、降低安全风险

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

    1.3 编译安装

    [root@localhost ~]# cd /opt/nginx-1.15.9/
    [root@localhost ~]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module
    [root@localhost ~]# make && make install
    
    

    1.4 路径优化

    为了使Nginx服务器的运行更加方便,可以为主程序nginx创建链接文件,以便管理员直接执行“nginx"命令就可以调php用Nginx的主程序

    [root@localhost ~]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/     //加入环境变量
    

    1.5 检查配置文件

    [root@localhost ~]# nginx -t
    nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
    nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
    [root@localhost ~]# 
    
    

    1.6 开启服务

    Centos7下构建LNMP平台全过程

    2.编译安装MySQL

    2.1 下载安装MySQL所需依赖包

    [root@localhost ~]# yum -y install ncurses ncurses-devel bison cmake
    

    2.2 添加用户

    [root@localhost ~]# useradd -s /sbin/nogin mysql
    

    2.3 编译安装

    [root@localhost ~]# cd /opt/mysql-5.7.20/
    [root@localhost mysql-5.7.20]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_Unix_ADDR=/usr/local/mysql/mysql.sock -DSYSCONFDIR=/etc -DSYSTEMD_PID_DIR=/usr/local/mysql -DDEFAULT_CHARSET=utf8  -DDEFAULT_COLLATION=utf8_general_ci -dwITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DMYSQL_DATADIR=/usr/local/mysql/data -DWITH_BOOST=boost -DWITH_SYSTEMD=1
    [root@localhost mysql-5.7.20]# make && make install
    
    

    2.4 递归修改文件属主和属组

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

    2.5 修改配置文件

    [root@localhost mysql-5.7.20]# vim /etc/my.cnf
    [client]		#client用户程序
    port = 3306
    default-character-set=utf8
    socket = /usr/local/mysql/mysql.sock 		##连接数据库的数据端
    [mysql]		#mysql软件内容
    port = 3306		#端口
    default-character-set=utf8
    socket = /usr/local/mysql/mysql.sock
    [mysqld]			#以后对msq1配置时更多的会针对于mysqld进行配置
    user = mysql		#程序用户
    basedir = /usr/local/mysql		 ## 工作目录
    datadir = /usr/local/mysql/data			##数据文件目录
    port = 3306  		##端口
    character_set_server=utf8   		##服务的字符集
    pid-file = /usr/local/mysql/mysqld.pid 		##PID文件目录
    socket = /usr/local/mysql/mysql.sock			##通讯文件
    sejsrver-id = 1			##服务id,在之后的mysql集群中用于标识mysq1服务器
    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES		 ##模块,默认加载
    
    [root@localhost mysql-5.7.20]# chown mysql:mysql /etc/my.cnf
    

    2.6 配置环境变量

    [root@localhost bin]# echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile
    [root@localhost bin]# echo 'export PATH' >> /etc/profile
    [root@localhost bin]# source /etc/profile
    
    

    2.7 初始化数据库

    [root@localhost bin]# /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
    
    

    2.8 开启服务

    [root@localhost mysql]# cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system   //mysql自带控制脚本,直接复制到系统服务文件夹中
    [root@localhost mysql]# systemctl start mysqld   http://www.devze.com//开启服务
    [root@localhost mysql]# netstat -antp | grep 3306   //查看状态
    tcp6       0      0 :::3306                 :::*                    LISTEN      95872/mysqld 
    

    2.9 修改mysql数据库密码

    [root@localhost mysql]# mysqladmin -uroot -p password 
    Enter password:   //初始无密码,直接回车
    New password: 
    Confirm new password: 
    Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.
    [root@localhoshttp://www.devze.comt mysql]# 
    
    

    Centos7下构建LNMP平台全过程

    3.编译安装PHP

    3.1 下载安装PHP所需依赖包

    [root@localhost mysql]# yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libXML2 libxml2-devel zlib zlib-devel curl curl-devel openssl openssl-devel
    
    

    3.2 编译安装

    [root@localhost php-7.1.10]# cd /opt/php-7.1.10/
    [root@localhost php-7.1.10]# ./configure --prefix=/usr/local/php --with-mysql-sock=/usr/local/mysql/mysql.sock --with-mysqli --with-zlib --with-curl --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-openssl --enable-fpm --enable-mbstring --enable-xml --enable-session --enable-ftp --enable-pdo --enable-tokenizer --enable-zip
    [root@localhost php-7.1.10]# make && make install
    
    
    

    3.3 修改配置文件

    [root@localhost ~]# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
    [root@localhost ~]# cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
    
    

    取消注释,让其可运行

    Centos7下构建LNMP平台全过程

    3.4 修改核心配置文件

    [root@localhost ~]# cp /opt/php-7.1.10/php.ini-development /usr/local/php/lib/php.ini
    [root@localhost ~]# vim /usr/local/php/lib/php.ini
    
    

    Centos7下构建LNMP平台全过程

    Centos7下构建LNMP平台全过程

    3.5 启动PHP

    [root@localhost ~]# /usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php.ini
    [root@localhost ~]# netstat -antp | grep 9000
    tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      104224/php-fpm: mas 
    [root@localhost ~]#
    

    3.6 让Nginx支持PHP

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

    Centos7下构建LNMP平台全过程

    3.7 重启nginx,查看服务

    Centos7下构建LNMP平台全过程

    总结

    LNMP与LAMP相比,由Nginx代替了Apache,PHP在LAMP中只是作为后台程序运行,在LNMP中开启了pid功能,以9000端口的方式运行起来

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程客栈(www.devze.com)。

    0

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    关注公众号