CentOS 6.8是一款桌面和服务器操作系统。本文将详细讲解如何在该系统上编译安装LNMP环境(Nginx+MySQL+PHP),以支持Web应用程序的开发和部署。 准备工作 在开始之前,我们需要准备以下材
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源码包,并将其上传到服务器上。
自由互联热门推荐:PDF电子发票识别软件,一键识别电子发票并导入到Excel中!10大顶级数据挖掘软件!人工智能的十大作用!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环境部署。