centos 7.4源码安装LNMP

本文详细介绍了如何在CentOS 7.4上通过源码安装LNMP环境,包括nginx、MySQL 5.6、PHP7的安装与配置。此外,还涵盖了Redis服务的安装与配置,以及PHP的Redis扩展安装步骤,为完整搭建 LNMP 环境提供了一站式解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.安装准备

首先安装一些基础的组件,如果想查看是否安装,使用命令
rpm -qa 组件名字,如 rpm -qa wget 

基础的组件安装:

yum -y install gcc gcc-c++  wget   pcre pcre-devel zlib zlib-devel unzip zip openssl openssl-devel ctl  autoconf

2. nginx 安装

1.先下载文件到下载目录,

cd /usr/local/src
wget http://nginx.org/download/nginx-1.12.2.tar.gz
tar -zxvf nginx-1.12.2.tar.gz
cd nginx-1.12.2

进行编译的配置

./configure --prefix=/usr/local/nginx

安装

make && make install

如果想先测试,就按下面来操作

make
make test
make install

配置nginx开机启动
在/etc/rc.d/rc.local文件最后增加一行脚本

vim /etc/rc.d/rc.local

加入一行脚本

/usr/local/nginx/sbin/nginx

其实就是nginx的启动入口。
为了方便启动nginx,将启动目录加入环境变量,

vi /etc/profile 

插入一行nginx的启动入口

export PATH="$PATH:/usr/local/nginx/sbin"

如图,
在这里插入图片描述

更新文件生效,

source /etc/profile

现在还没有启动nginx,启动nginx可以使用

nginx -s reload

查看nginx是否启动,

ps -ef | grep nginx

出现下图显示就是启动成功了
在这里插入图片描述

或者查看端口:

netstat -lntup | grep 80

出现下图结果也是启动成功了。
在这里插入图片描述

停止nginx

nginx -s stop

如果重启nginx不成功,产生nginx: [error] open() “/usr/local/nginx/logs/nginx.pid” failed (2: No such file or directory)

错误,那就执行下:

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

在重新重启就可以了。
nginx的配置就放到PHP安装完成了再来。

3.MYSQL 5.6的安装

1.首先安装cmake,mysql 5.5 之后要cmake编译安装。
cd /usr/local/src
wget http://www.cmake.org/files/v2.8/cmake-2.8.12.1.tar.gz
tar -xf cmake-2.8.12.1.tar.gz
cd cmake-2.8.12.1
./configure
make && make install

2.然后进行mysql的安装

wget http://cdn.mysql.com//archives/mysql-5.6/mysql-5.6.21.tar.gz
tar -zxvf mysql-5.6.21.tar.gz
cd mysql-5.6.21
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci

make && make install 

安装完成后,配置mysql.

创建mysql的用户组和用户

groupadd mysql
useradd  -g -M mysql  -s /sbin/nologin mysql 

赋予权限

chown -R mysql:mysql /usr/local/mysql

基础的配置:

cd /usr/local/mysql/scripts
./mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

修改配置文件:

cd /usr/local/mysql
cp support-files/my-default.cnf /etc/my.cnf

将mysql添加到服务:

cp support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on

然后就可通过服务的方式启动、停止、重启mysql了:

service mysqld start
service mysqld stop
service mysqld restart

将mysql添加的环境变量,方法同上:
在这里插入图片描述

然后就可通过命令行方式登录了:

mysql -uroot -p

首次登录不需要密码,直接enter就可以了,mysql的操作就不叙述了。

4.安装PHP7

1.首先安装一些php的依赖:

yum -y install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel
  1. 编译安装PHP7:
wget http://ca1.php.net/distributions/php-7.2.11.tar.gz
tar -zxvf php-7.2.11.tar.gz
cd  php-7.2.11
./configure --prefix=/usr/local/php --disable-fileinfo --enable-fpm --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-openssl --with-zlib --with-curl --enable-ftp --with-gd --with-xmlrpc --with-jpeg-dir --with-png-dir --with-freetype-dir  --enable-mbstring  --enable-zip --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-mysql-sock=/var/lib/mysql/mysql.sock --without-pear  --enable-bcmath
make && make install

如果出现make: *** [Zend/zend_execute.lo] Error 1 ,基本上是内存不足的原因,因为编译zend_execute需要比较多的内存, 关掉其他占用内存的进程,在重新安装。

make clean && make
make install

3.安装好后进行配置,
将php包解压目录中的配置文件放置到正确位置(configure命令中的–with-config-file-path设置的位置)

cp php.ini-development /etc/php.ini

再处理php-fpm进程,
到php-fpm的安装目录etc下复制一份配置文件

cd /usr/local/php
cp etc/php-fpm.conf.default  etc/php-fpm.conf

创建账号:

groupadd www
useradd -M -g www -s /sbin/nologin www

修改配置:

cd /usr/local/php/etc
vim php-fpm.conf

发现搜索不到“user”(设置运行账号的位置),但发现文件的最后一行:
include=/usr/local/php/etc/php-fpm.d/*.conf
因此编辑另一个文件:

cd php-fpm.d
ll

发现还没有.conf的文件,但有一个默认文件:

cp www.conf.default www.conf
vim www.conf

将文件内的修改如下:

user=www
group=www

将php-fpm加入服务管理,

cp /usr/local/src/php-7.2.11/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
chkconfig php-fpm on 

同样可通过服务的方式管理php-fpm进程了,

service php-fpm start 
service php-fpm stop
service php-fpm restart

建立一个项目目录

mkdir /home/www

添加一个PHP文件

touch phpinfo.php

写入内容:

<?php
phpinfo();

然后访问这个文件,还不能解析,因此还有回头配置nginx。

vim /usr/local/nginx/conf/nginx.conf

在location下要添加支持php,如
在这里插入图片描述
在index里面加上index.php;
然后 location ~.php 的配置项是注释的,需要全部开启:

 location ~ \.php$ {
            root           /home/www;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
       #     fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }

主要修改 root 和fastcgi_param,root 就是项目的目录路,重启nginx,可以正常访问了。

至此LNMP环境就搭好了,只需要上传代码测试了。

5.安装redis扩展

因为常用redis,顺便记下redis扩展的安装。

  1. redis服务安装:
cd /usr/local/ src
wget  http://download.redis.io/redis-stable.tar.gz   
tar xvzf redis-stable.tar.gz   
cd redis-stable 
make && make install

然后进行配置:

cd src
cp redis-server /usr/local/bin/    
cp redis-cli /usr/local/bin/
mkdir /etc/redis    
mkdir /var/redis    
mkdir /var/redis/log    
mkdir /var/redis/run    
mkdir /var/redis/6379 

cp redis.conf /etc/redis/6379.conf
vim  /etc/redis/6379.conf

修改配置文件:

daemonize yes    
pidfile /var/redis/run/redis_6379.pid    
logfile /var/redis/log/redis_6379.log    
dir /var/redis/6379

将redis加入服务:

cd /usr/local/ src/redis-stable
cp utils/redis_init_script  /etc/init.d/redis
chkconfig --add redis
chkconfig redis on
service redis start

redis就安装并启动完成。

  1. 安装PHP扩展
cd  /usr/local/ src
wget https://codeload.github.com/phpredis/phpredis/zip/develop -O phpredis.zip
unzip phpredis.zip
cd /phpredis-develop
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install

编辑php.ini,

vim /usr/local/php/etc/php.ini

添加一行

extension=redis.so

重启php-fpm,

service php-fpm restart

redis扩展安装成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值