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

centos LAMP环境搭建

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-10-14 08:45:10 | 显示全部楼层 |阅读模式
说明:
1.官网采用LAMP框架,nginx做前端轮询代理
2、移除系统自带的rpm包的http mysql php
yum remove httpd mysql mysql-server php php-cli php-common php-devel php-gd  -y
3 安装必备的开发包
/usr/bin/yum -y install ntp vim-enhanced gcc gcc-c++ flex bison autoconf automake bzip2-devel \
ncurses-devel zlib-devel libjpeg-devel libpng-devel libtiff-devel freetype-devel libXpm-devel \
gettext-devel  pam-devel libtool libtool-ltdl openssl openssl-devel fontconfig-devel \
libxml2-devel curl-devel  libicu libicu-devel libmcrypt libmcrypt-devel libmhash  libxml2 \
libmhash-devel  mysql-devel   libxslt libxslt-devel curl tcl expect
4.同步系统时间:
vim /etc/ntp.conf
server 3.cn.pool.ntp.org
server 3.asia.pool.ntp.org
server 0.asia.pool.ntp.org
chkconfig ntpd on
service ntpd restart
5.IP分配
    nginx:192.168.201.4  192.168.201.5  192.168.201.6  192.168.201.7  
    apache:192.168.201.123---192.168.201.138
  • 一.nginx搭建
  • 1.下载源码包nginx-1.4.2
  • 2.安装nginx

  • ./configuer  --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module & make & make install
  • 3.配置文件如下
  • user  nobody;
  • worker_processes  8;
  • pid               logs/nginx.pid;

  • events {
  •         use epoll;
  •         worker_connections  65535;
  •         }

  • http {

  • #       设置一个共享内存区域reqnum,以用于限制每个客户端IP可以并发连接的请求数
  • #        limit_conn_zone $binary_remote_addr zone=reqnum:10m;
  • #       每个客户端IP每分钟只允许5个连接
  • #        limit_req_zone $binary_remote_addr zone=reqone:10m rate=10r/m;
  •         include       mime.types;
  •         default_type  application/octet-stream;

  •         sendfile              on;  
  •         tcp_nopush            on;   
  •         tcp_nodelay           on;
  •         keepalive_timeout     60;
  •         server_tokens         off;

  •         log_format    wwwlog  '$remote_addr - $remote_user [$time_local] "$request" '              
  •                               '$status $body_bytes_sent "$http_referer" '            
  •                               '"$http_user_agent" $http_x_forwarded_for';   
  •         access_log    /usr/local/nginx/logs/access.log wwwlog;

  •         gzip                    on;
  •         gzip_min_length         1k;
  •         gzip_buffers            4 16k;
  •         gzip_http_version       1.1;
  •         gzip_comp_level         3;
  •         gzip_types              text/plain application/x-javascript text/css applicati
  • on/xml;
  •         gzip_vary on;

  •         server_names_hash_bucket_size   128;   
  •         client_header_buffer_size       32k;  
  •         client_max_body_size            300m;
  •         client_body_buffer_size         512k;
  •         large_client_header_buffers     4   32k;  

  •         proxy_connect_timeout           60;
  •         proxy_send_timeout              120;
  •         proxy_read_timeout              120;
  •         proxy_buffer_size               16k;
  •         proxy_buffers                   4   64k;
  •         proxy_busy_buffers_size         128k;
  •         proxy_temp_file_write_size      128k;

  •         index           index.php  index.htm index.html default.php default.htm defaul
  • t.html index.php3;

  • upstream os_server {
  • #                       ip_hash;
  • #                       server 192.168.201.122:80 weight=1;
  •                         server 192.168.201.123:80 weight=1;
  •                         server 192.168.201.124:80 weight=1;
  •                         server 192.168.201.125:80 weight=1;
  •                         server 192.168.201.126:80 weight=1;
  •                         server 192.168.201.127:80 weight=1;
  •                         server 192.168.201.128:80 weight=1;
  •                         server 192.168.201.129:80 weight=1;
  •                         server 192.168.201.130:80 weight=1;
  •                         server 192.168.201.131:80 weight=1;
  •                         server 192.168.201.132:80 weight=1;
  •                         server 192.168.201.133:80 weight=1;
  •                         server 192.168.201.134:80 weight=1;
  •                         server 192.168.201.136:80 weight=1;
  •                         server 192.168.201.137:80 weight=1;
  •                         server 192.168.201.138:80 weight=1;
  •                                      }  
  • upstream m_server {
  • #                       ip_hash;
  • #                       server 192.168.201.122:80 weight=1;
  •                         server 192.168.201.123:80 weight=1;
  •                         server 192.168.201.124:80 weight=1;
  •                         server 192.168.201.125:80 weight=1;
  •                         server 192.168.201.126:80 weight=1;
  •                         server 192.168.201.127:80 weight=1;
  •                         server 192.168.201.128:80 weight=1;
  •                         server 192.168.201.129:80 weight=1;
  •                         server 192.168.201.130:80 weight=1;
  •                         server 192.168.201.131:80 weight=1;
  •                         server 192.168.201.132:80 weight=1;
  •                         server 192.168.201.133:80 weight=1;
  •                         server 192.168.201.134:80 weight=1;
  •                         server 192.168.201.136:80 weight=1;
  •                         server 192.168.201.137:80 weight=1;
  •                         server 192.168.201.138:80 weight=1;
  •                         }
  • upstream weixin_server {
  • #                       ip_hash;
  •                         server 192.168.201.35:80 weight=1;
  •                         server 192.168.201.34:80 weight=1;
  •                         }

  • upstream op_server {   
  • #                       ip_hash;
  •                         server 192.168.201.35:80 weight=1;
  • #                       server 192.168.201.34:80 weight=1;
  •                         }
  • #---------------------------www.lqxshop.com-----------------------
  • server {
  •          listen 80;
  •          server_name    www.shop.com www.ilqx.cn www.chenggongfang.com wx.lqxshop.c
  • om;
  •          #限制每个连接的带宽大小
  •          #limit_rate 40k;
  •          #限制每个客户端ip在指定时间内容允许连接的请求数,且超过限制连接频率的连接数不
  • 得超过burst指定
  •          #limit_req zone=reqone burst=50;
  •          #使用前面定义的共享内存区域,限制每个客户端IP并发连接的最大数
  •          #limit_conn    reqnum   20;
  • location / {
  •              proxy_set_header HTTP_REFERER  $http_referer;
  •              proxy_pass http://os_server;
  •              proxy_set_header Host   $host;
  •              proxy_set_header X-Real-IP      $remote_addr;
  •              proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  •              index  index.html index.php index.htm index.jsp;
  •            }
  • }

  • #--------------------------------m.lqxshop.com----------------------
  • server {
  •          listen 80;
  •          #限制每个连接的带宽大小
  •          #limit_rate 40k;
  •          #限制每个客户端ip在指定时间内容允许连接的请求数,且超过限制连接频率的连接数不
  • 得超过burst指定
  •          #limit_req zone=reqone burst=50;
  •          #使用前面定义的共享内存区域,限制每个客户端IP并发连接的最大数
  •          #limit_conn    reqnum   20;
  •          server_name    m.shop.com m1.shop.com m2.shop.com;
  • location / {
  •              proxy_pass http://m_server;
  •              proxy_set_header HTTP_REFERER  $http_referer;
  •              proxy_set_header Host   $host;
  •              proxy_set_header X-Real-IP      $remote_addr;
  •              proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  •              index  index.html index.htm index.jsp;
  •   }
  • }

  • #--------------------------------weixin.lqxshop.com----------------------
  • server {
  •          listen 80;
  •           #限制每个连接的带宽大小
  •           #limit_rate 40k;
  •           #限制每个客户端ip在指定时间内容允许连接的请求数,且超过限制连接频率的连接数
  • 得超过burst指定
  •           #limit_req zone=reqone burst=50;
  •           #使用前面定义的共享内存区域,限制每个客户端IP并发连接的最大数
  •          #limit_conn    reqnum   20;
  •          server_name    weixin.shop.com;
  • location / {
  •              proxy_pass http://weixin_server;
  •              proxy_set_header HTTP_REFERER  $http_referer;
  •              proxy_set_header Host   $host;
  •              proxy_set_header X-Real-IP      $remote_addr;
  •              proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  •              index  index.html index.htm index.jsp;
  •   }
  • }


  • #--------------------------------op.lqxshop.com----------------------
  • server {
  •          listen 80;
  •           #限制每个连接的带宽大小
  •          #limit_rate 30k;
  •           #限制每个客户端ip在指定时间内容允许连接的请求数,且超过限制连接频率的连接数
  • 得超过burst指定
  •           #limit_req zone=reqone burst=50;
  •            #使用前面定义的共享内存区域,限制每个客户端IP并发连接的最大数
  •          #limit_conn    reqnum   20;
  •          server_name    op.shop.com;
  • location / {
  •              proxy_pass http://op_server;
  •              proxy_set_header HTTP_REFERER  $http_referer;
  •              proxy_set_header Host   $host;
  •              proxy_set_header X-Real-IP      $remote_addr;
  •              proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  •              index  index.html index.htm index.jsp;
  •   }
  • }

  • }


  • 二.APP(Apache+php)搭建
  • 1、移除系统自带的rpm包的http mysql php
  • yum remove httpd mysql mysql-server php php-cli php-common php-devel php-gd  -y
  • 2 安装必备的开发包
  • /usr/bin/yum -y install ntp vim-enhanced gcc gcc-c++ flex bison autoconf automake bzip2-devel \
  • ncurses-devel zlib-devel libjpeg-devel libpng-devel libtiff-devel freetype-devel libXpm-devel \
  • gettext-devel  pam-devel libtool libtool-ltdl openssl openssl-devel fontconfig-devel \
  • libxml2-devel curl-devel  libicu libicu-devel libmcrypt libmcrypt-devel libmhash  libxml2 \
  • libmhash-devel  mysql-devel   libxslt libxslt-devel curl tcl expect
    3.同步系统时间:
  • vim /etc/ntp.conf
  • server 3.cn.pool.ntp.org
  • server 3.asia.pool.ntp.org
  • server 0.asia.pool.ntp.org
  • chkconfig ntpd on
  • service ntpd restart
  • 4.安装Apache:
  • ##############安装需要的插件:apr、apr-util、pcre、libmcrypt######################################
  • cd /usr/local/src/
  • cd apr-1.4.8################(rm: cannot remove `libtoolT': No such file or directory///////修改configure文件,+++++把RM='$RM'改为RM='$RM  -f'+++++)
  • ./configure --prefix=/usr/local/apr && make && make install
  • cd ../apr-util-1.5.2/
  • ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/ && make && make install
  • cd ../pcre-8.33/
  • ./configure --prefix=/usr/local/pcre --enable-utf8 && make && make install
  • cd ../libmcrypt-2.5.8/
  • ./configure --prefix=/usr/local/libmcrypt && make && make install
  • ###################开始安装Apache,并修改开启启动##################################################
  • cd ../httpd-2.4.6/
  • ./configure --prefix=/usr/local/apache --enable-so --enable-rewrite --enable-mods-shared=most --with-mpm=worker --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --with-pcre=/usr/local/pcre/
  • make && make install
  • /usr/local/apache/bin/apachectl start
  • cp /usr/local/apache/bin/apachectl  /etc/init.d/httpd
  • vim /etc/init.d/httpd(第二行添加注释信息,添加为系统服务)
  • # chkconfig: 35 61 61
  • # description: Apache
  • chkconfig --add httpd
  • chkconfig httpd on
  • 5.安装php:
  • cd ../php-5.5.3/
  • ./configure --prefix=/usr/local/php --mandir=/usr/local/share/man --infodir=/usr/local/share/info --with-apxs2=/usr/local/apache/bin/apxs --enable-cgi --with-mysql --with-config-file-path=/usr/local/php/etc --with-pdo-mysql --with-mysqli --enable-zip  -enable-sockets --enable-soap --enable-pcntl --enable-mbstring --enable-intl --enable-calendar --enable-bcmath --enable-exif --with-mcrypt --with-mhash --with-gd --with-png-dir --with-jpeg-dir --with-freetype-dir --with-libxml-dir --with-curl --with-zlib   --with-openssl --with-kerberos=shared --with-gettext=shared --with-xmlrpc=shared --with-mcrypt=/usr/local/libmcrypt
  • make && make install

  • 装载XXX模块


  • cd /usr/local/httpd-2.2.22/modules/generators/
  • /usr/local/apache/bin/apxs -i -a -c mod_cgi.c

  • 6.apache和php结合:
  • vim /usr/local/apache/conf/httpd.conf
  • 查找AddType application/x-gzip .gz .tgz,在该行下面添加
  • AddType application/x-httpd-php .php
  • 查找DirectoryIndex index.html 把该行修改成
  • DirectoryIndex index.html index.htm index.php
  • 测试apache和php是否整合成功,下面我们测试apache和php是否整合成功,在apache文档跟目录下新建一个小小的php程序
  • cd /usr/local/apache/htdocs
  • vi index.php  //在index.php文件中写入下面三行
  • <?php
  • phpinfo();
  • ?>
  • 重启apache服务
  • /sbin/service  httpd restart
  • 访问,在浏览器中输入http://localhost(ip地址)/index.php 出现php信息界面则说明整合成功
  • elinks http://localhost/index.php
  • 成功的页面



  • 三.mysql搭建

  • 10    11
  • 软件源代码包存放位置               /opt
  • 软件解压位置   /usr/local/src
  • 源码包编译安装位置(prefix)         /usr/local/
  • 脚本以及维护程序存放位置           /script
  • 数据库文件位置:           /data/mysql/
  • 数据库日志位置:   /data/log
  • 数据库备份目录:   /data/backup

  • 1.卸载默认的mysql及apache的rpm包
  • yum remove httpd mysql mysql-server php php-cli php-common php-devel php-gd  -y
  • yum install ntp
  • service ntpd stop
  • ntpdate cn.pool.ntp.org
  • service ntpd start
  • chkconfig --level 2345 ntpd on

  • 2.安装依赖包
  • yum install gcc gcc-c++ make cmake ncurses-devel vim -y
  • cd /opt
  • tar zxvf cmake-2.8.5.tar.gz -C /usr/local/src
  • cd /usr/local/src
  • cd cmake-2.8.5/
  • ./configure
  • make && make install
  • cd /opt

  • 3.编译安装mysql
  • tar zxvf mysql-5.5.23.tar.gz -C /usr/local/src/
  • cd /usr/local/src/mysql-5.5.23
  •      cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
  •          -DMYSQL_DATADIR=/data/mysql \
  •          -DWITH_MYISAM_STORAGE_ENGINE=1 \
  •          -DWITH_INNOBASE_STORAGE_ENGINE=1 \
  •          -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
  •          -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
  •          -DENABLED_LOCAL_INFILE=1 \
  •          -DDEFAULT_CHARSET=utf8 \
  •          -DDEFAULT_COLLATION=utf8_general_ci \
  •          -DEXTRA_CHARSETS=all  
  •   make && make install
  • groupadd -r -g 3306 mysql
  • useradd -u 3306 -g mysql -r -M -s /sbin/nologin mysql
  • mkdir -p /data/mysql/
  • mkdir -p /data/log/
  • chown -R mysql:mysql /data/
  • chown -R mysql:mysql /usr/local/mysql/*
  • cp support-files/my-huge.cnf /etc/my.cnf

  • 4.初始化
  • /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql &   //初始化数据库

  • 5.启动项
  • cp support-files/mysql.server /etc/init.d/mysqld
  • chmod +x /etc/init.d/mysqld
  • /chkconfig --add mysqld
  • chkconfig  --level 2345 mysqld on
  • service  mysqld start
  • netstat -tnlp |grep 3306

  • 6.相关命令
  • # cd /usr/local/bin //进入用户的默认搜索路径下建立mysql命令的软连接,可以直接执行mysql命令
  • #  ln -s /usr/local/mysql/bin/mysql mysql
  • #  ln -s /usr/local/mysql/bin/mysqldump mysqldump
  • #  ln -s /usr/local/mysql/bin/mysqladmin  mysqladmin
  • #  ln -s /usr/local/mysql/bin/mysqlbinlog
  • vim /etc/my.cnf  ,在[mysqld]配置参数下面添加下面几行(大概37行下面),根据服务
  • skip-external-locking
  • key_buffer_size = 256M
  • max_allowed_packet = 500M
  • table_open_cache = 2048
  • sort_buffer_size = 8M
  • read_buffer_size = 4M
  • read_rnd_buffer_size = 16M
  • myisam_sort_buffer_size = 128M

  • ###添加
  • log-error=/data/log/mysql.err.log
  • skip-name-resolv
  • max_connections = 3000
  • max_connect_errors = 2000

  • slow_query_log
  • long_query_time = 2
  • slow_query_log_file = /data/log/slow.log

  • bulk_insert_buffer_size = 64M
  • query_cache_type = 1
  • query_cache_size =256M
  • query_cache_limit = 4M
  • ft_min_word_len = 2
  • join_buffer_size = 16M
  • innodb_file_per_table  
  • log-bin-trust-function-creators=1
  • myisam_repair_threads = 1
  • innodb_log_files_in_group = 3
  • thread_cache_size = 8
  • # Try number of CPU's*2 for thread_concurrency
  • thread_concurrency = 8

  • innodb_buffer_pool_size = 2G //修改这个参数为物理内存的80%

  • :wq //保存退出
  • rm -rvf  /data/mysql/ib* myslq-bin* //删除原来的默认文件
  • service mysqld restart
  • mysql -u root
  • Mysql> grant all privileges on *.* to lqx@'%' identified by 'shlqx1!';
  • Mysql>flush privileges;




运维网声明 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-285732-1-1.html 上篇帖子: lamp 基础应用 下篇帖子: 详解LAMP源码编译安装
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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