CentOS6.x编译安装LNMP(Linux+Nginx+Mysql+PHP)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

一、准备依赖包及扩展组件

1
yum  install  -y gcc gcc-c++  make  curl-devel kernel-headers glibc glibc-headers zlib zlib-devel openssl openssl-devel pcre-devel perl compat* php-common ncurses-devel libtool* libxml2 libxml2-devel

二、安装nginx

1
2
3
4
5
6
7
8
9
groupadd nginx
useradd  -g nginx -s  /sbin/nologin  nginx
tar  zxvf nginx-1.4.2. tar .gz
cd  nginx-1.4.2
  . /configure  --prefix= /usr/local/nginx  --user=nginx --group=nginx
--with-http_ssl_module --with-http_gzip_static_module
--with-http_stub_status_module
make  &&  make  install
/usr/local/nginx/sbin/nginx  #启动nginx

Nginx启动、停止、重启等SysV管理脚本,方便使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
vi  /etc/init .d /nginx
#!/bin/bash
# chkconfig: 345 99 20
# description: Nginx service control script
PROG= "/usr/local/nginx/sbin/nginx"
PIDF= "/usr/local/nginx/logs/nginx.pid"
case  "$1"  in
start)
$PROG
echo  "Nginx service start success."
;;
stop)
kill  -s QUIT $( cat  $PIDF)
echo  "Nginx service stop success."
;;
restart)
$0 stop
$0 start
;;
reload)
kill  -s HUP $( cat  $PIDF)
echo "reload Nginx config success."
;;
*)
echo  "Usage: $0 {start|stop|restart|reload}"
exit  1
esac
1
2
3
4
chmod +x /etc/init.d/nginx
service nginx start
chkconfig --add nginx
chkconfig nginx on

测试:http://127.0.0.1 #出现欢迎nginx页面成功

三、安装mysql

1、创建mysql组和用户

1
2
groupadd mysql
useradd  –g mysql -s  /sbin/nologin  mysql

2、安装mysql

1
2
3
4
5
6
tar  zxvf mysql-5.5.30. tar .gz
cd  mysql-5.5.30
cmake -DCMAKE_INSTALL_PREFIX= /usr/local/mysql  \
-DSYSCONFDIR= /usr/local/mysql/etc  \
-DMYSQL_DATADIR= /usr/local/mysql/data
make  &&  make  install

3、配置mysql 

1
2
3
4
5
6
7
8
9
10
11
12
13
/usr/local/mysql/scripts/mysql_install_db  --basedir= /usr/local/mysql/  --datadir= /usr/local/mysql/data/  --user=mysql  #初始化数据库
cp  support-files /my-medium .cnf  /usr/local/mysql/etc/my .cnf
cp  support-files /mysql .server  /etc/init .d /mysqld
echo  "PATH=$PATH:/usr/local/mysql/bin"  >>  /etc/profile  #添加执行命令环境变量
source  /etc/profile  #生效环境变量
chmod  +x  /etc/init .d /mysqld
chown  -R root.mysql  /usr/local/mysql/
chown  -R mysql:mysql mysql /data/  #赋予数据存放目录权限
mysqld_safe --user=mysql&  #启动mysql
rm  -rf  /etc/my .cnf    #删除mysql以前的配置文件,否则有时会起不来
service mysqld start
mysqladmin -u root password  '123456' #设置root登录密码
chkconfig mysqld on

四、安装php和配置php-fpm

1、安装gd库

1
yum  install  –y gd php-gd freetype freetype-devel libpng libpng-devel libjpeg*

2、安装php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
tar  zxvf php-5.4. tar .gz
. /configure  --prefix= /usr/local/php  \
-with-config- file -path= /usr/local/php/etc  \
-with-mysql= /usr/local/mysql  \
-with-mysqli= /usr/local/mysql/bin/mysql_config  \
-with-mysql-sock= /tmp/mysql .sock \
-with-pdo-mysql= /usr/local/mysql  \
-with-gd -with-zlib -with-iconv - enable -zip - enable -pdo \
- enable -xml -with-openssl -with-curl - enable -bcmath \
- enable - ftp  - enable -xml -with-openssl -with-curl \
- enable -bcmath - enable - ftp  - enable -mbstring - enable -fpm \
-with-fpm-user=nginx -with-fpm-group=nginx - enable -shmop \
- enable -sysvsem - enable -mbregex - enable -gd-native-ttf \
- enable -pcntl - enable -sockets -with-xmlrpc - enable -soap \
-without-pear -with-gettext - enable -session
make  &&  make  install

3、配置php

1
2
3
4
cp  php.ini-production  /usr/local/php/etc/php .ini
vi  /usr/local/php/etc/php .ini
date .timezone = Asia /Shanghai  #设置时区
expose_php = OFF  #禁止显示版本信息

4、置php-fpm

1
2
3
4
5
6
7
8
9
cp  /usr/local/php/etc/php-fpm .conf.default  /usr/local/php/etc/php-fpm .conf
vi  /usr/local/php/etc/php-fpm .conf
user = nginx
group = nginx
pid = run /php-fpm .pid
cp  sapi /fpm/init .d.php-fpm  /etc/init .d /php-fpm
chmod  +x  /etc/rc .d /init .d /php-fpm
service php-fpm start
chkconfig php-fpm on

五、nginx和php整合

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
vi  /usr/local/nginx/conf/nginx .conf  #修改并去掉以下注释
user nginx nginx;
error_log logs /error .log;
worker_processes 4;  #默认创建子进程个数
events {
  worker_connections 1024;  #一个子进程最大连接数
}
pid logs /nginx .pid;
...................
location ~ \.php$ {
     root html;
     fastcgi_pass 127.0.0.1:9000;
     fastcgi_index index.php;
     fastcgi_param SCRIPT_FILENAME  /usr/local/nginx/html $fastcgi_script_name;  #SCRIPT_FILENAME后面写网站根目录
     include fastcgi_params;
  }
...................
1
2
3
4
/usr/local/nginx/sbin/nginx  -t  #测试语法是否正确
service nginx restart
chown  -R nginx  /usr/local/nginx/html
chmod  744 -R  /usr/local/nginx/html

六、测试

1
2
3
4
5
6
service nginx restart
service php-fpm restart
vi  index.php
<?php
phpinfo();
?>

http://127.0.0.1,可以看到相关的配置信息!



本文转自 李振良OK 51CTO博客,原文链接:http://blog.51cto.com/lizhenliang/1290439,如需转载请自行联系原作者
相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
打赏
0
0
0
0
265
分享
相关文章
ELK实现nginx、mysql、http的日志可视化实验
通过本文的步骤,你可以成功配置ELK(Elasticsearch, Logstash, Kibana)来实现nginx、mysql和http日志的可视化。通过Kibana,你可以直观地查看和分析日志数据,从而更好地监控和管理系统。希望这些步骤能帮助你在实际项目中有效地利用ELK来处理日志数据。
198 90
nginx修改网站默认根目录及发布(linux、centos、ubuntu)openEuler软件源repo站点
通过合理配置 Nginx,我们可以高效地管理和发布软件源,为用户提供稳定可靠的服务。
284 13
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。通过具体案例,读者可以了解如何准备环境、下载源码、编译安装、配置服务及登录 MySQL。编译源码安装虽然复杂,但提供了更高的定制性和灵活性,适用于需要高度定制的场景。
270 3
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
434 2
Tengine、Nginx安装MySQL数据库命令教程
本指南详细介绍了在Linux系统上安装与配置MySQL数据库的步骤。首先通过下载并安装MySQL社区版本,接着启动MySQL服务,使用`systemctl start mysqld.service`命令。若启动失败,可尝试使用`sudo /etc/init.d/mysqld start`。利用`systemctl status mysqld.service`检查MySQL的服务状态,确保其处于运行中。通过日志文件获取初始密码,使用该密码登录数据库,并按要求更改初始密码以增强安全性。随后创建一个名为`tengine`的数据库,最后验证数据库创建是否成功以及完成整个设置流程。
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置服务等,并与使用 RPM 包安装进行了对比,帮助读者根据需求选择合适的方法。编译源码安装虽然复杂,但提供了更高的定制性和灵活性。
348 2
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤
【10月更文挑战第7天】本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据自身需求选择合适的方法。
132 3
Linux 配置 Nginx 服务的详细步骤,绝对干货
Linux 配置 Nginx 服务的详细步骤,绝对干货
206 0
详细解释容器以及虚拟机centos7.9容器化部署基础服务(容器化部署nginx)
容器是一种轻量级、可移植的软件打包和隔离技术,将应用程序及其依赖项打包,确保在任何环境中一致运行。容器共享主机操作系统内核,相比虚拟机更高效、轻量,具有快速启动和高资源利用率的特点。容器的关键技术包括命名空间(如 PID、NET 等)、控制组(cgroups)和联合文件系统(UnionFS)。使用容器可以提高开发和部署效率,简化管理,确保环境一致性。例如,在 CentOS 7.9 上部署 Nginx 时,可以通过 Docker 下载和运行 `nginx:1.20` 镜像,并通过端口映射使外部请求访问 Nginx 服务。此外,还可以将测试页面复制到容器中,进一步验证容器的功能。
112 0