Centos 6.8编译安装LNMP环境(Nginx+MySQL+PHP)教程

yizhihongxing

CentOS 6.8是一款桌面和服务器操作系统。本文将详细讲解如何在该系统上编译安装LNMP环境(Nginx+MySQL+PHP),以支持Web应用程序的开发和部署。

准备工作

在开始之前,我们需要准备以下材料:

  • CentOS 6.8操作系统
  • PuTTY或其他SSH工具
  • WinSCP或其他SFTP工具
  • Nginx、MySQL和PHP源码包
  • gcc、make和其他编译软件包

安装编译软件包

首先,我们需要安装编译软件包,包括gcc、make和其他依赖项。

yum install gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl openssl-devel perl perl-devel perl-ExtUtils-Embed GeoIP GeoIP-devel -y

安装Nginx

Nginx是一款高性能的Web服务器,具有占用资源低,高并发等特点。我们可以从官网下载最新的Nginx源码包,并将其上传到服务器上。

wget http://nginx.org/download/nginx-1.18.0.tar.gz
tar -zxvf nginx-1.18.0.tar.gz
cd nginx-1.18.0

首先,我们需要配置Nginx编译参数,以适应我们的需求。下面是一些示例配置选项:

./configure --prefix=/usr/local/nginx \
--with-http_ssl_module \
--with-http_realip_module \
--with-http_addition_module \
--with-http_sub_module \
--with-http_gzip_static_module \
--with-http_random_index_module \
--with-http_secure_link_module \
--with-http_stub_status_module

然后,我们需要编译和安装Nginx。

make
make install

安装MySQL

MySQL是一款常用的数据库管理系统,具有开源,高效等特点。我们可以从官网下载最新的MySQL源码包,并将其上传到服务器上。

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.31.tar.gz
tar -zxvf mysql-5.7.31.tar.gz
cd mysql-5.7.31

首先,我们需要配置MySQL编译参数,以适应我们的需求。下面是一些示例配置选项:

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci

然后,我们需要编译和安装MySQL。

make
make install

安装PHP

PHP是一种脚本语言,用于Web开发。我们可以从官网下载最新的PHP源码包,并将其上传到服务器上。

wget https://www.php.net/distributions/php-7.4.9.tar.gz
tar -zxvf php-7.4.9.tar.gz
cd php-7.4.9

首先,我们需要配置PHP编译参数,以适应我们的需求。下面是一些示例配置选项:

./configure --prefix=/usr/local/php \
--with-config-file-path=/etc \
--with-mysql=/usr/local/mysql \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--with-pdo-mysql=/usr/local/mysql \
--enable-mbstring \
--with-freetype \
--with-jpeg \
--with-png \
--with-zlib \
--with-libxml-dir \
--enable-xml \
--enable-sockets \
--enable-fpm \
--enable-fastcgi \
--enable-opcache \
--with-curl \
--with-openssl

然后,我们需要编译和安装PHP。

make
make install

配置Nginx、MySQL和PHP

既然我们已经安装了Nginx、MySQL和PHP,那么我们现在需要正确地配置它们,以便它们能够相互协作。下面是一些示例配置文件:

Nginx配置文件

user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;

    keepalive_timeout  65;

    server {
        listen       80;
        server_name  localhost;

        location / {
            root   /usr/share/nginx/html;
            index  index.html index.htm;
        }

        error_page  404              /404.html;
        location = /404.html {
            root   /usr/share/nginx/html;
        }

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        location ~ \.php$ {
            root           /usr/share/nginx/html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
    }

    include /etc/nginx/conf.d/*.conf;
}

MySQL配置文件

[client]
port            = 3306
socket          = /tmp/mysql.sock
default-character-set=utf8

[mysqld]
port            = 3306
socket          = /tmp/mysql.sock
datadir         = /usr/local/mysql/data
pid-file        = /usr/local/mysql/mysql.pid
character-set-server=utf8
collation-server=utf8_general_ci

log-error=/var/log/mysql/error.log

PHP配置文件

[PHP]
engine = On
short_open_tag = On
memory_limit = 256M
upload_max_filesize = 2M
max_execution_time = 30
date.timezone = Asia/Shanghai

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Asia/Shanghai

[MySQLi]
; http://php.net/mysqli
mysqli.max_links = -1
mysqli.default_port = 3306
mysqli.default_socket = /tmp/mysql.sock
mysqli.default_host =
mysqli.default_user =
mysqli.default_pw =

[mysqlnd]
mysqlnd.collect_statistics = On
mysqlnd.collect_memory_statistics = On

[opcache]
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown = 1

启动Nginx、MySQL和PHP

现在,我们已经完成了所有的安装和配置工作。但是,在我们可以开始使用这些服务之前,我们需要启动它们。下面是一些示例命令:

启动Nginx

/usr/local/nginx/sbin/nginx

启动MySQL

/usr/local/mysql/bin/mysqld_safe --user=mysql &

启动PHP

/usr/local/php/sbin/php-fpm

结束语

至此,我们已经完成了CentOS 6.8上编译安装LNMP环境的全部过程。在这个过程中,我们涉及了许多重要的步骤,包括安装编译软件包,安装Nginx、MySQL和PHP,以及配置和启动这些服务。我们希望你通过这些步骤能够成功地完成自己的LNMP环境部署。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Centos 6.8编译安装LNMP环境(Nginx+MySQL+PHP)教程 - Python技术站

(0)
上一篇 2023年5月14日
下一篇 2023年5月14日

相关文章

  • 我花16块得到了一个永久的微型服务器

    前言 在上一篇文章中(我用 Python 写了一个统计博客园文章信息的小工具),我写了一个统计博客园阅读量的小程序,同时希望利用服务器每日统计一次,以获取一段时间内文章阅读量的变化情况。 但如果只是做这样一件事,去租一个服务器就有些大材小用了。 作为一个 DIY 爱好者,常年混迹于酷安、恩山等平台,家里已经有一台刷了 padavan 的路由器,一个破解了的电…

    Linux 2023年4月10日
    00
  • VMware安装Centos7超详细过程(图文)

    以下是VMware安装Centos7超详细过程的完整攻略。 确认安装环境 在安装CentOS之前,需要确认计算机是否满足以下最低配置要求: 2GB以上的内存 至少20GB的磁盘空间 64位的CPU 下载CentOS镜像 从官方网站下载CentOS 7的最新版本,可以选择Minimal ISO或DVD ISO文件进行下载。 创建虚拟机 使用VMware Wor…

    Linux 2023年5月24日
    00
  • KVM 介绍及作用详解

    KVM 介绍及作用详解 Virtualization(虚拟化)技术已经成为现代数据中心的基石之一,它可以大大提高资源利用率,降低硬件成本和管理工作量。在这个领域内,KVM(Kernel-based Virtual Machine)是一个非常流行的虚拟化解决方案,本文将带领读者了解KVM技术的概念,用途,以及具体实现方法。 KVM是什么? KVM是基于Linu…

    Linux 2023年5月24日
    00
  • 【转】linux 下man命令详解

    man命令:可以通过一些参数,快速查询linux帮助手册,并且格式化显示。 使用语法: man [-adfhktwW] [section] [-M path] [-P pager] [-S list]  [-m system] [-p string] title.. 参数用法:   参数 备注 man命令常用参数 -a 显示所有匹配项 -d 显示man查照手…

    Linux 2023年4月12日
    00
  • MobaXterm详细使用图文教程(MobaXterm连接Linux服务器)

    MobaXterm详细使用图文教程 本文将提供一个详细的 MobaXterm 连接 Linux 服务器的教程,包括安装、配置、连接等各个方面。 安装及配置 MobaXterm 首先下载 MobaXterm 安装包并安装。 打开 MobaXterm,进入“Session”页签,选择“SSH”协议,并填写要连接 Linux 服务器的 IP 地址、用户名和密码。例…

    Linux 2023年5月30日
    00
  • [Linux] 进程间通信

    1.管道(Pipe)及有名管道(namedpipe):管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信 2.信号(Signal):信号是比较复杂的通信方式,用于通知接受进程有某种事件发生,除了用于进程间通信外,进程还可以发送信号给进程本身;linux除了支持Unix早期信号语…

    Linux 2023年4月13日
    00
  • Linux_unix

    Linux/Unix 基础入门攻略 作为一名计算机爱好者,你一定听说过 Linux 和 Unix 操作系统。这两个操作系统都被广泛地应用于服务器领域和科学计算,因其稳定性、安全性和高效性而备受推崇。本文将为初学者介绍 Linux 和 Unix 操作系统的基础知识和入门指南,让你轻松掌握它们的基本使用方法。 Linux 和 Unix 的区别 首先来了解一下两者…

    Linux 2023年5月14日
    00
  • Linux操作系统原理笔记

        在Linux操作系统内核内部,进程是通过一个链表,而且是一个双向链表来管理的。 进程描述符:每一个进程都有其描述符,每一个描述符彼此之间都有关联性的。   双向链表:   一个进程内部可能包含多个线程。     上下文切换(Context swtch)     假如说进程A从当前CPU上被拿走,切换成进程B,进程A有自己的描述符(task_struc…

    Linux 2023年4月11日
    00
合作推广
合作推广
分享本页
返回顶部