没有合适的资源?快使用搜索试试~ 我知道了~
首页Linux+Apache+Nginx+MySQL+PHP_前后端_部署_生产环境
Linux+Apache+Nginx+MySQL+PHP_前后端_部署_生产环境
需积分: 10 10 下载量 175 浏览量
更新于2023-06-13
评论
收藏 102KB DOC 举报
Linux+Apache+Nginx+MySQL+PHP_前后端_部署_生产环境
资源详情
资源评论
资源推荐
网站的成功与否,与其稳定的性能有很大的关系。高配硬件对于很多草根站长而言,实在
是望价止步。就拿一款 512M 的 VPS 来说,Apache 固然强大又稳定,但动辄 200M+的内存,
实在不是首选,而 Nginx、Lighttpd 这类的程序,内存消耗低、速度快,但又不是很稳定,
一旦在线人数过多或动态连接数过高,Nginx 就歇菜了,直接丢个 502 错误。
不过,程序是人写的,方案也是可以由我们而改进的。既然 Nginx 处理静态文件强悍 ,
Apache 处理动态稳定,那我们干脆可以将 Apache 替代 fcgi 与 Nginx 结合。将 Nginx 作为前
端处理静态,Apache 后置处理动态,简称 LANMP 或 LNAMP。
网上已经有 LNAMP 一键安装包了,不过不是很理想,网上很多类似的教程我没一次测试
成功过,很纠结。于是我参考了一些资料,做了一个适合大部分新手都可以使用并快速修
改的方案,以此来解决 502 瓶颈!
此方案的程序要求:
Centos 5+
PHP 5.2.x
MySQL 5.1.x
Nginx 0.8.x
硬件要求:
CPU:无,尽可能两核心+
内存:256M+ 内存偏小的话,建议直接用 Nginx 吧,这个方案是以稳定为主,不是用来拼
命缩减内存消耗的
1,重装 Centos 系统,并删除不比要的程序:
yum -y remove httpd mysql php
2,安装相关组件:
yum -y install yum-fastestmirror
yum -y update
yum -y install patch make gcc gcc-c++ gcc-g77 flex bison tar
yum -y install libtool libtool-libs kernel-devel autoconf213
yum -y install libjpeg libjpeg-devel libpng libpng-devel
yum -y install libtiff libtiff-devel gettext gettext-devel
yum -y install freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel
yum -y install file glib2 glib2-devel bzip2 diff* openldap-devel
yum -y install bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs
yum -y install e2fsprogs-devel krb5 krb5-devel libidn libidn-devel
yum -y install openssl openssl-devel vim-minimal unzip
export PHP_AUTOCONF=/usr/bin/autoconf-2.13
export PHP_AUTOHEADER=/usr/bin/autoheader-2.13
安装 PHP 5.2.x 所需的支持库
cd /usr/local/src
wget -c http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz
tar zxvf libiconv-1.13.1.tar.gz
cd libiconv-1.13.1/
./configure --prefix=/usr/local
make
make install
cd ../
wget -c http://monkey.org/~provos/libevent-1.4.14b-stable.tar.gz
tar zxvf libevent-1.4.14b-stable.tar.gz
cd libevent-1.4.14b-stable/
./configure --prefix=/usr
make
make install
cd ../
wget -c http://ncu.dl.sourceforge.net/sourceforge/mcrypt/libmcrypt-2.5.8.tar.gz
tar zxvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8/
./configure
make
make install
/sbin/ldconfig
cd libltdl/
./configure --enable-ltdl-install
make
make install
cd ../../
wget -c http://nchc.dl.sourceforge.net/sourceforge/mhash/mhash-0.9.9.9.tar.gz
tar zxvf mhash-0.9.9.9.tar.gz
cd mhash-0.9.9.9/
./configure
make
make install
cd ../
ln -s /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.la
ln -s /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.so
ln -s /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4
ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8
ln -s /usr/local/lib/libmhash.a /usr/lib/libmhash.a
ln -s /usr/local/lib/libmhash.la /usr/lib/libmhash.la
ln -s /usr/local/lib/libmhash.so /usr/lib/libmhash.so
ln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2
ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1
ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config
wget -c http://nchc.dl.sourceforge.net/sourceforge/mcrypt/mcrypt-2.6.8.tar.gz
tar zxvf mcrypt-2.6.8.tar.gz
cd mcrypt-2.6.8/
./configure
make
make install
cd ../
3,安装 Mysql 5.1.x
先安装 Google 的开源 TCMalloc 库,可以提高 MySQL 在高并发情况下的性能
wget -c http://google-perftools.googlecode.com/files/google-perftools-1.6.tar.gz
tar zxvf google-perftools-1.6.tar.gz
cd google-perftools-1.6/
./configure
make && make install
echo "/usr/local/lib" > /etc/ld.so.conf.d/usr_local_lib.conf
/sbin/ldconfig
cd ../
安装之后,开始安装 Mysql 5.1.x
wget -c http://mysql.proserve.nl/Downloads/MySQL-5.1/mysql-5.1.53.tar.gz
tar -zxvf mysql-5.1.53.tar.gz
cd mysql-5.1.53
./configure --prefix=/usr/local/mysql --with-extra-charsets=all --enable-thread-safe-client --enable-
assembler --with-charset=utf8 --enable-thread-safe-client --with-big-tables --with-readline --with-
ssl --with-embedded-server --enable-local-infile --without-debug --with-mysqld-ldflags=-
ltcmalloc_minimal
make && make install
cd ../
groupadd mysql
useradd -g mysql mysql
cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf
/usr/local/mysql/bin/mysql_install_db --user=mysql
chown -R mysql /usr/local/mysql/var
chgrp -R mysql /usr/local/mysql/.
cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/mysql
chmod 755 /etc/init.d/mysql
chkconfig --level 345 mysql on
echo "/usr/local/mysql/lib/mysql" >> /etc/ld.so.conf
echo "/usr/local/lib" >>/etc/ld.so.conf
ldconfig
ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql
ln -s /usr/local/mysql/include/mysql /usr/include/mysql
service mysql start
/usr/local/mysql/bin/mysqladmin -u root password 11111111 //修改红色部分为你的密码
service mysql restart
打开“/etc/my.cnf”文件,修改以下设置,如果没有,可手动添加。
关闭远程连接,即 3306 端口。这是 MySQL 的默认监听端口。由于此处 MySQL 只
服务于本地脚本,所以不需要远程连接。尽管 MySQL 内建的安全机制很严格,但监听
一个 TCP 端口仍然是危险的行为,因为如果 MySQL 程序本身有问题,那么未授权的
访问完全可以绕过 MySQL 的内建安全机制。(你必须确定,你是否真的不需要远程连
接 mysql,一般数据库地址为 localhost 的,即使本地数据库,不需要外链)
skip-networking
保存后退出。
修改完 my.cnf 后,还需要对 mysql 的用户名、帐号、及默认数据库进行调整
首先先登录 mysql,在终端窗口输入
/usr/local/mysql/bin/mysql -u root –p
然后会提示输入密码,输入正确密码后,会出现 mysql>提示符。
输入以下命令:
mysql>use mysql;
mysql>select Host,User,Password,Select_priv,Grant_priv from user;
mysql>delete from user where user=''; (删除 user 用户)
mysql>delete from user where password=''; (删除 user 用户)
mysql>delete from user where host=''; (删除 user 用户)
mysql>drop database test; (删除默认的 test 数据库)
mysql>flush privileges; (刷新 mysql 的缓存,让以上设置立即生效)
mysql>quit;
为了使以上优化和安全设置生效,请重启 Mysql 服务或 Linux。
service mysql restart
4,安装 GD 图形支持库:
cd /usr/local/src
wget http://www.libgd.org/releases/gd-2.0.35.tar.gz
tar xzvf gd-2.0.35.tar.gz
cd gd-2.0.35
./configure --prefix=/usr/local/gd --mandir=/usr/share/man --with-jpeg --with-png --with-freetype
--with-zlib --with-fontconfig
make //如果 GD 报错:configure.ac:64: warning: macro `AM_ICONV' not found in library
你就 make clean 一下,然后再 make
make install
5,安装 Apache:
cd /usr/local/src
groupadd www
useradd -g www -s /sbin/nologin -M www
wget http://apache.freelamp.com//httpd/httpd-2.2.17.tar.gz
tar zxvf httpd-2.2.17.tar.gz
cd httpd-2.2.17
Apache 默认最大连接数和最大客户端数为 40000,如果你的服务器要求更大,可以编译
Apache 安装文件中的:
server/mpm/worker/worker.c
找到下面几行,并改成如下的数值,其目的是在源码中修改 apache 可支持的最大线程数和
最大客户端数目。
define DEFAULT_SERVER_LIMIT 32
define MAX_SERVER_LIMIT 40000
define DEFAULT_THREAD_LIMIT 64
define MAX_THREAD_LIMIT 40000
以上数值据说改小后,能减低服务器消耗。不过柒月修改后,发现没什么实质变化。
5.1,依次安装 apr 和 apr-util
剩余15页未读,继续阅读
nwhls
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- RTL8188FU-Linux-v5.7.4.2-36687.20200602.tar(20765).gz
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0