CentOS6 yum方式安装lnmp

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

本文打造易于复制粘贴的lnmp安装方法。


相比较其他编译安装的教程,本文解除了软件版本锁定,理论上,永远安装的是最新稳定版且支持软件升级。


编译教程在写作时往往使用当时的最新稳定版软件,但是稍过时日,新的漏洞出来,很快会将读者带入危险,因为软件已经过时了。严重不建议新手使用编译方法安装lnmp。


环境CentOS 6.5 x64


安装第三方软件源(epel、nginx、remi)

1
2
3
rpm -ivh http: //download .fedora.redhat.com /pub/epel/6/x86_64/epel-release-6-8 .noarch.rpm
rpm -ivh http: //nginx .org /packages/centos/6/noarch/RPMS/nginx-release-centos-6-0 .el6.ngx.noarch.rpm
rpm -ivh http: //rpms .famillecollet.com /enterprise/remi-release-6 .rpm


yum一键安装lnmp

 
 
1
yum  install  nginx mysql mysql-server php-fpm php-mysql php-cli php-gd  php-xml  php-mbstring php-mcrypt  php-zendopcache --enablerepo=epel,nginx,remi


php参数配置

1
2
3
4
5
6
7
8
9
10
sed  -i  '/expose_php/{s/On/Off/g}'  /etc/php .ini
sed  -i  '/display_errors/{s/On/Off/g}'  /etc/php .ini
sed  -i  '/php_errors.log/{s/;//g}'  /etc/php .ini
sed  -i  '/file_uploads/{s/On/Off/g}'  /etc/php .ini
sed  -i  '/allow_url_fopen/{s/On/Off/g}'  /etc/php .ini
sed  -i  '/allow_url_include/{s/On/Off/g}'  /etc/php .ini
sed  -i  '/;date.timezone/{s/;//g;s/=/= Asia\/Shanghai/g}'  /etc/php .ini
sed  -i  '/cgi.fix_pathinfo\=/{s/;//g;s/1/0/g}'  /etc/php .ini
sed  -i  '/memory_limit/{s/128/64/g}'  /etc/php .ini
sed  -i  '/safe_mode/{s/Off/On/g}'  /etc/php .ini


php-fpm配置

 
 
1
2
sed  -i  's/apache/nginx/g'  /etc/php-fpm .d /www .conf
sed  -i  '/request_terminate_timeout/{s/;//g;s/0/30/g}'  /etc/php-fpm .d /www .conf


内核优化

1
2
3
4
5
6
7
echo  "net.ipv6.conf.all.disable_ipv6 = 1"        >>  /etc/sysctl .conf
echo  "vm.swappiness = 25"            >>  /etc/sysctl .conf
echo  "net.ipv4.route.max_size = 524288 "         >>  /etc/sysctl .conf
echo  "net.core.somaxconn = 10240"            >>  /etc/sysctl .conf
echo  "net.ipv4.tcp_max_syn_backlog = 204800"     >>  /etc/sysctl .conf
echo  "net.core.netdev_max_backlog =  204800"     >>  /etc/sysctl .conf
echo  "net.ipv4.ip_local_port_range = 1024   65535"    >>  /etc/sysctl .conf


 
 
1
2
3
4
5
echo  "ulimit -SHn 65535"  >>  /etc/profile
cat  >>  /etc/security/limits .conf <<EOF
nginx               soft    nofile  65535
nginx               hard    nofile  65535
EOF



nginx基本优化

1
2
3
4
5
6
sed  -i  '/worker_processes/{s/1/4/g}'  /etc/nginx/nginx .conf
sed  -i  '/worker_processes/a\ worker_rlimit_nofile 65535;'  /etc/nginx/nginx .conf
sed  -i  '/worker_connections/{s/1024/10240/g}'  /etc/nginx/nginx .conf
sed  -i  '/sendfile/a\ server_tokens off;'  /etc/nginx/nginx .conf
sed  -i  '/version/{s/\/\$nginx_version//g}'  /etc/nginx/fastcgi_params
sed  -i  '/events/a\    use epoll;'  /etc/nginx/nginx .conf
 
 


nginx的fpm基本配置,找到FASTCGI选项,去掉注释,修改下面这样

 
 
1
2
3
4
5
6
7
8
location ~ \.php$ {
     root   /var/www/html ;
     fastcgi_pass  127.0.0.1:9000;
     #fastcgi_pass  unix:/tmp/php-fpm.sock;
     fastcgi_index  index.php;
     fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
     include  fastcgi_params;
}



nginx页面设置

 
 
1
2
3
4
mkdir  -p  /var/www/html
sed  -i  's#/usr/share/nginx/html#/var/www/html#g'  /etc/nginx/conf .d /default .conf
sed  -i  's/index.html/& index.php/'  /etc/nginx/nginx .conf
echo  "<?php phpinfo();phpinfo(INFO_MODULES);?>"  > /var/www/html/index .php


mysql配置

有条件的话,给mysql单独分个区作为datadir

[mysqld]

datadir=/data

其他参数可以参考/usr/share/mysql下的示例文件


mysql基本加固,(设置密码,限制访问等)

 
 
1
mysql_secure_installation


iptables防火墙,需要根据自己设置,下面仅仅是个示例

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
cat  > /root/firewall .sh <<EOF
#!/usr/bin/env bash
modprobe ip_tables
modprobe iptable_filter
modprobe ipt_REJECT
iptables -F
iptables -X
iptables -Z
iptables -P INPUT ACCEPT
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p icmp -m icmp --icmp- type  8 -m limit --limit 1 /sec  -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -s 192.168.1.0 /24   --dport 22 -m recent -- set  --name  ssh  --rsource
iptables -A INPUT -p tcp -s 192.168.1.0 /24   --dport 22 -m recent ! --rcheck --seconds 60 --hitcount 10 --name  ssh  --rsource -j ACCEPT
iptables -P INPUT DROP
iptables -A OUTPUT -s 224.0.0.0 /8  -j DROP
iptables -A OUTPUT -d 224.0.0.0 /8  -j DROP
iptables -A OUTPUT -s 255.255.255.255 /32  -j DROP
iptables -A OUTPUT -m state --state INVALID -j DROP
/etc/init .d /iptables  save
/etc/init .d /iptables  restart
EOF



启动服务

1
2
3
4
5
6
chkconfig nginx on
chkconfig php-fpm on
chkconfig mysqld on
/etc/init .d /php-fpm  start
/etc/init .d /mysqld  start
/etc/init .d /nginx  start


通过浏览器访问系统IP应该就已经能够看到php信息了。











本文转自 紫色葡萄 51CTO博客,原文链接:http://blog.51cto.com/purplegrape/936692,如需转载请自行联系原作者

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
关系型数据库 MySQL 应用服务中间件
Linux 手动安装快速部署 LNMP 环境实战
本文详细记录了在阿里云ECS上手动搭建LNMP环境的过程,系统选用Ubuntu 24.04。主要内容包括:1) 使用`apt`安装Nginx和MySQL,并更新软件源;2) 编译安装PHP 8.4.5,配置PHP-FPM及环境路径;3) 配置MySQL root用户密码;4) 调整Nginx支持PHP解析并测试整体环境。通过此过程,重现手动配置服务器的细节,帮助熟悉各组件的安装与协同工作。
111 23
|
2月前
|
缓存 Ubuntu Linux
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
通过本文,我们详细了解了 `yum`、`rpm`、`apt-get`和 `wget`的区别、常用命令以及在CentOS和Ubuntu中安装 `wget`的方法。`yum`和 `apt-get`是高层次的包管理器,分别用于RPM系和Debian系发行版,能够自动解决依赖问题;而 `rpm`是低层次的包管理工具,适合处理单个包;`wget`则是一个功能强大的下载工具,适用于各种下载任务。在实际使用中,根据系统类型和任务需求选择合适的工具,可以大大提高工作效率和系统管理的便利性。
267 25
|
2月前
|
监控 Linux
yum install -y net-snmp-devel 安装不成功 zabbix项目安装,Errors during downloading metadata for repository ‘extras-common’:问题解决方案-优雅草卓伊凡
yum install -y net-snmp-devel 安装不成功 zabbix项目安装,Errors during downloading metadata for repository ‘extras-common’:问题解决方案-优雅草卓伊凡
84 13
yum install -y net-snmp-devel 安装不成功 zabbix项目安装,Errors during downloading metadata for repository ‘extras-common’:问题解决方案-优雅草卓伊凡
|
5月前
|
存储 缓存 Linux
【Linux】另一种基于rpm安装yum的方式
通过本文的方法,您可以在离线环境中使用RPM包安装YUM并进行必要的配置。这种方法适用于无法直接访问互联网的服务器或需要严格控制软件源的环境。通过配置本地YUM仓库,确保了软件包的安装和更新可以顺利进行。希望本文能够为您在特定环境中部署YUM提供实用的指导。
507 0
|
6月前
|
NoSQL 应用服务中间件 PHP
LNMP一键安装
LNMP一键安装
|
7月前
|
关系型数据库 MySQL Linux
Linux 安装 mysql【使用yum源进行安装】
这篇文章介绍了在Linux系统中使用yum源安装MySQL数据库的步骤,包括配置yum源、安装MySQL服务、启动服务以及修改root用户的默认密码。
Linux 安装 mysql【使用yum源进行安装】
|
6月前
|
Unix Linux Go
Linux 使用Yum安装Go和配置环境
Linux 使用Yum安装Go和配置环境
|
8月前
|
Oracle Java 关系型数据库
yum安装指定版本的openJDK
yum安装指定版本的openJDK
|
8月前
|
Linux Docker 容器
在CentOS操作系统上使用yum安装/使用/卸载Docker容器引擎
在CentOS操作系统上安装、配置、使用和卸载Docker容器引擎的详细步骤,包括配置Docker镜像加速的方法。
673 0
|
11月前
|
关系型数据库 MySQL Linux
CentOS 7.4下使用yum安装MySQL5.6
CentOS 7.4下使用yum安装MySQL5.6
403 0
下一篇
oss创建bucket
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等