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
目录
打赏
0
0
0
0
235
分享
相关文章
VMware隐藏黑科技!CentOS安装这个神器效率翻倍 文件互传竟比U盘还快?
### 安装VMtools的作用及步骤 安装VMtools可以实现Windows与CentOS之间的字符串和命令粘贴、文件夹共享等操作。在CentOS中,通过VMware菜单栏选择“VMware Tools”,将下载的压缩包拷贝到`/opt`目录并解压。接着进入终端,使用`./vmware-install.pl`命令完成安装。安装后重启系统,即可实现Windows与CentOS之间的字符和文件共享。具体步骤包括解压文件、启动命令行终端、安装VMtools以及配置文件共享。
81 16
VMware隐藏黑科技!CentOS安装这个神器效率翻倍 文件互传竟比U盘还快?
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
本文详细介绍了在VMware虚拟机中安装CentOS 6.8的全过程。首先,需确保已安装VMware并开启V-CPU虚拟化功能,可通过BIOS设置或使用LeoMoon CPU-V工具检测。接着,下载CentOS镜像文件,并在VMware中新建虚拟机,配置CPU、内存、硬盘等参数。最后,加载ISO镜像启动虚拟机,按照提示完成CentOS的安装,包括语言、键盘、存储方式、地区、密码设置及硬盘分区等步骤。安装完成后,以root用户登录即可进入系统桌面,开始学习Linux命令和操作。
121 12
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
如何从CentOS7升级到8?CentOS8最新安装教程
从CentOS 7升级到8只需三步:清理系统、更换软件包及存储库、安装新内核与发布版本。首先确保系统最新并清理冗余包,接着替换基础系统包为CentOS 8版本,最后通过DNF工具完成内核更新与系统同步。整个过程需在终端执行,建议升级前备份VPS快照以防数据丢失。此方法可避免重装系统导致的数据清除问题,实现平滑升级。
65 6
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`则是一个功能强大的下载工具,适用于各种下载任务。在实际使用中,根据系统类型和任务需求选择合适的工具,可以大大提高工作效率和系统管理的便利性。
192 25
|
2月前
|
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’:问题解决方案-优雅草卓伊凡
76 13
yum install -y net-snmp-devel 安装不成功 zabbix项目安装,Errors during downloading metadata for repository ‘extras-common’:问题解决方案-优雅草卓伊凡
|
2月前
|
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
95 20
Centos7.9安装kerberos
Centos7.9安装kerberos
113 25
Centos7.9安装openldap
Centos7.9安装openldap
85 16
|
3月前
|
CentOS-6的iso下载地址镜像yum源
通过上述步骤,您可以成功下载CentOS 6的ISO镜像文件,并配置适用于CentOS 6的YUM源。尽管CentOS 6已经停止更新,但使用这些镜像和YUM源配置,可以继续在需要的环境中使用和维护CentOS 6系统。
1006 20
AI助理

你好,我是AI助理

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