设为首页 收藏本站
查看: 743|回复: 0

[经验分享] [转] Centos下的LNMP架构

[复制链接]

尚未签到

发表于 2016-5-10 10:53:09 | 显示全部楼层 |阅读模式
  前提:安装Centos (略)
  
  安装LNMP,附件为nginx,php,php-fpm配置文件
  1. 安装wget工具包
  

yum install -y wget
  2. 安装相关软件包/库 
  
  1> 一些软件依赖包
  

yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers
  2>安装libevent,memcached需要
  
  

yum -y install libevent libevent-devel
  3> 下载软件包
  
  

wget http://php-fpm.org/downloads/php-5.2.9-fpm-0.5.10-unofficial.diff.gz
wget http://nginx.org/download/nginx-1.7.2.tar.gz
wget http://cn2.php.net/get/php-5.3.28.tar.gz
wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.6-rc.tar.gz
wget http://www.memcached.org/files/memcached-1.4.20.tar.gz
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz   
wget http://downloads.sourceforge.net/project/mcrypt/MCrypt/2.6.8/mcrypt-2.6.8.tar.gz
wget http://downloads.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
wget http://downloads.sourceforge.net/project/mhash/mhash/0.9.9.9/mhash-0.9.9.9.tar.gz
wget http://downloads.sourceforge.net/project/pcre/pcre/8.10/pcre-8.10.tar.gz  
wget http://sourceforge.net/projects/imagemagick/files/6.8.9-sources/ImageMagick-6.8.9-5.tar.gz
wget http://pecl.php.net/get/APC-3.1.4.tgz  
wget http://pecl.php.net/get/memcache-2.2.6.tgz
wget http://pecl.php.net/get/imagick-3.0.1RC2.tgz
  3.安装
  
  1> 安装libiconv
  

cd /usr/src/  
tar zxvf libiconv-1.13.1.tar.gz
cd libiconv-1.13.1/  
./configure --prefix=/usr/local
make  
make install
  2> 修改动态链接载入的目录查找文件
  
  

vi /etc/ld.so.conf
#在文件最后添加一行内容/usr/local/lib,然后运行以下命令/sbin/ldconfig   
  3> 安装libmcrypt  
  
  

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 ../../
  4> 安装mhash
  
  

tar zxvf mhash-0.9.9.9.tar.gz
cd mhash-0.9.9.9/
./configure
make && make install
cd ../  
ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config
  5> 安装mcrypt
  
  

tar zxvf mcrypt-2.6.8.tar.gz
cd mcrypt-2.6.8/
/sbin/ldconfig
./configure
make && make install
cd ../
  6> 安装memcached 
  
  

tar xvf memcached-1.4.5.tar.gz cd memcached-1.4.5  
./configure --prefix=/usr/local/memcached
make && make install
cd ../
  7> 安装pcre
  
  

tar zxvf pcre-8.10.tar.gz
cd pcre-8.10/
./configure
make && make install
cd ../
  8> 安装Nginx
  
  

/usr/sbin/groupadd www  
/usr/sbin/useradd -g www www   
tar zxvf nginx-0.8.52.tar.gz
cd nginx-0.8.52/  
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
make && make install
cd ../
  9> 安装PHP
  
  

tar zxvf php-5.3.3.tar.gz
cd php-5.3.3   
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-curl --with-curlwrappers --with-freetype-dir --with-jpeg-dir --with-png-dir --with-gd --enable-gd-native-ttf --with-iconv-dir=/usr/local/libiconv --with-libxml-dir=/usr/local --with-mhash --with-mcrypt  --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-openssl --with-xmlrpc --with-zlib --disable-debug --disable-rpath --enable-bcmath --enable-fpm   --enable-inline-optimization --enable-mbregex --enable-mbstring --enable-pcntl --enable-safe-mode --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --enable-zip --without-pear --enable-ftp --with-libdir=lib64 ←64位操作系统需要添加此项,否则去除此项
make ZEND_EXTRA_LIBS='-liconv'
make install   
cp ./php.ini-production /usr/local/php/etc/php.ini
cd ../
  10> 安装ImageMagick
  
  

tar zxvf ImageMagick-6.6.5-0.tar.gz
cd ImageMagick-6.6.5-0/
./configure
make && make install
cd ../
  11> 安装PHP扩展imagick
  
  

tar zxvf imagick-3.0.1RC2.tgz
cd imagick-3.0.1RC2/   
ln -s /usr/local/include/ImageMagick-6 /usr/local/include/ImageMagick
/usr/local/php/bin/phpize  
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
cd ../
  12> 安装PHP扩展memcache
  
  

tar zxvf memcache-2.2.6.tgz
cd memcache-2.2.6/   
/usr/local/php/bin/phpize  
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
cd ../
  13> 安装PHP扩展APC
  

tar zxvf APC-3.1.4.tgz
cd APC-3.1.4/   
/usr/local/php/bin/phpize  
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
cd ../
  14> 安装MySQL

/usr/sbin/groupadd mysql  
/usr/sbin/useradd -g mysql mysql   
tar xvf mysql-5.5.6-rc.tar.gz
cd mysql-5.5.6-rc/   
./configure --prefix=/usr/local/mysql/ --with-unix-socket-path=/tmp/mysql.sock --with-big-tables --with-charset=utf8  --with-collation=utf8_general_ci --with-extra-charsets=gbk,gb2312,utf8 --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static  --with-plugins=partition,innobase,myisammrg --with-pthread --with-readline --without-debug --without-isam --enable-assembler --enable-local-infile  --enable-thread-safe-client   
make
make install   
chmod +w /usr/local/mysql  
chown -R mysql:mysql /usr/local/mysql   
cd ../
  4.配置
  1> MYSQL配置

mkdir -p /var/mysql/  
mkdir -p /var/mysql/data/
mkdir -p /var/mysql/log/  
chown -R mysql:mysql /var/mysql/   
/usr/local/mysql/bin/mysql_install_db --defaults-file=/var/mysql/my.cnf --basedir=/usr/local/mysql --datadir=/var/mysql/data --user=mysql   
vi /var/mysql/my.cnf
  2> PHP配置

#[1]# vi /usr/local/php/etc/php.ini
#[2]查找 extension_dir = "ext"(809行左右),在后面添加以下几行:
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/"
extension=apc.so  
extension=imagick.so
extension=memcache.so
#[3] 按shift+g键跳到配置文件的末尾,添加以下配置信息:
[APC]  
apc.enabled=1
apc.ttl=7200
apc.shm_size=32
#3> PHP-FPM配置
cd /usr/local/php/etc/  
cp php-fpm.conf.default php-fpm.conf
vi php-fpm.conf
#4> Nginx配置
cd /usr/local/nginx/conf/  
cp nginx.conf.default nginx.conf
vi nginx.conf
  5.启动
  1> 启动MySQL 

##cp /usr/local/mysql/share/mysql/mysql.server /etc/rc.d/init.d/
##chkconfig --add mysql.server  #加入service和开机启动   
##/etc/rc.d/init.d/mysql.server start  #手动启动,下面设置root密码
##上面方法启动不成功,下面的可以,不知道为什么,找了半天,找不到答案
/usr/local/mysql/bin/mysqld_safe --defaults-file=/var/mysql/my.cnf & #加入/etc/rc.d/rc.local中去,系统启动自动启动
/usr/local/mysql/bin/mysqladmin -u root password 'new-password'   
/usr/local/mysql/bin/mysqladmin -uroot -p shutdown  #手动关闭
  2> 启动memcached

chmod 0777 /var/run  #允许普通用户程序写入pid文件   
/usr/local/memcached/bin/memcached -p 11211 -d -u www -P /var/run/memcached.pid -m 64M -c 1024
参数含义:
-p memcached监听的TCP端口  
-l监听的ip地址,127.0.0.1是本机,当然也可以写上你的服务器IP,如:61.150.91.26,这是我服务器的IP地址,如果你需要多个服务器都能够读取这台memcached的缓存数据,那么就必须设定这个ip
-d 以daemon方式运行,将程序放入后台  
-u memcached的运行用户,我设定的是nobody
-P memcached的pid文件路径  
-m memcached可以使用的最大内存数量
-c memcached同时可以接受的最大的连接数 如果你希望以socket方式来访问memcached,那么在启动的时候就必须去掉 -l和-p参数,并加上-s参数:     
-s memcached的socket文件路径
  
  3> 启动mephp-fpm和nginx

ulimit -SHn 65535  
/usr/local/php/sbin/php-fpm
/usr/local/nginx/sbin/nginx
#以将这3条语句写入/etc/rc.local文件,这样每次开机就可以启动php-fpm和nginx了。
  4> 优化Linux内核参数

vi /etc/sysctl.conf
#在文件末尾增加以下内容:
# append 
net.ipv4.tcp_max_syn_backlog = 65536 net.core.netdev_max_backlog =  32768 net.core.somaxconn = 32768  
net.core.wmem_default = 8388608 net.core.rmem_default = 8388608 net.core.rmem_max = 16777216 net.core.wmem_max = 16777216  
net.ipv4.tcp_timestamps = 0 
net.ipv4.tcp_synack_retries = 2 net.ipv4.tcp_syn_retries = 2  
net.ipv4.tcp_tw_recycle = 1 #net.ipv4.tcp_tw_len = 1 net.ipv4.tcp_tw_reuse = 1  
net.ipv4.tcp_mem = 94500000 915000000 927000000 net.ipv4.tcp_max_orphans = 3276800  
#net.ipv4.tcp_fin_timeout = 30 
#net.ipv4.tcp_keepalive_time = 120 
net.ipv4.ip_local_port_range = 1024  65535
使配置立即生效:
/sbin/sysctl -p
  
  
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-215100-1-1.html 上篇帖子: centos 安装mysql冲突解决方法 下篇帖子: CentOS 安装 hadoop(伪分布模式)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表