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

[经验分享] centos 7

[复制链接]

尚未签到

发表于 2018-4-21 14:19:14 | 显示全部楼层 |阅读模式
  系统环境:centos 7.3
  软件环境:mysql 5.6.12 采用二进制免编译安装包
  php 7.17 增加扩展模块phalcon

  nginx 1.12.1 增加扩展模块 nginx_http_concat_module
  # 安装依赖包
  yum install -y gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libpng libpng-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses curl openssl-devel gdbm-devel db4-devel libXpm-devel libX11-devel gd-devel gmp-devel readline-devel libxslt-devel expat-devel xmlrpc-c xmlrpc-c-devel libmcrypt libmcrypt-devel libaio
  #============== ========安装MYSQL 5.6.12==========================
  #下载MYSQL 5.6.12
  cd /usr/local/src
  wget https://cdn.mysql.com//archives/mysql-5.6/mysql-5.6.12-linux-glibc2.5-x86_64.tar.gz
  

  #解压MYSQL
  tar -zxvf /usr/local/src/mysql-5.6.12-linux-glibc2.5-x86_64.tar.gz -C /usr/local
  

  #添加mysql用户,不允许登陆系统
  useradd -s /sbin/nologin mysql
  

  #更改mysql文件名
  cd /usr/local
  mv mysql-5.6.12-linux-glibc2.5-x86_64 mysql
  

  #创建mysql数据库目录
  mkdir -pv /data/mysql
  chown -R mysql.mysql /data/mysql
  

  #初始化MYSQL
  cd /usr/local/mysql
  ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
  

  #创建MYSQL 主配置文件
  mv /etc/my.cnf /etc/my.cnf.bak
  cat > /etc/my.cnf <<EOF
[mysql]

  default-character-set=utf8
  socket=/tmp/mysql.sock
[mysqld]

  skip-name-resolve
  port = 3306
  socket=/tmp/mysql.sock
  basedir=/usr/local/mysql
  datadir=/data/mysql
  max_connections=200
  character-set-server=utf8
  default-storage-engine=INNODB
  lower_case_table_names=1
  max_allowed_packet=16M
  EOF
  

  #更改启动脚本,并添加到开机启动
  cp support-files/mysql.server /etc/init.d/mysqld
  chmod 755 /etc/init.d/mysqld
  /etc/init.d/mysqld start
  chkconfig --add mysqld
  chkconfig mysqld on
  netstat -tulnp |grep mysql   //查看是否监听3306端口
  

  #====================安装php 7.17==============================
  #下载PHP 7.1.7
  cd /usr/local/src
  wget http://cn2.php.net/distributions/php-7.1.7.tar.gz
  

  #解压PHP:
  tar -zxvf php-7.1.7.tar.gz
  

  #添加php-fpm 用户,不允许登陆系统
  useradd -s /sbin/nologin php-fpm
  

  #进入PHP解压目录,配置编译参数:
  cd /usr/local/src/php-7.1.7
  ./configure '--prefix=/usr/local/php' '--with-config-file-path=/usr/local/php/etc' '--with-config-file-scan-dir=/usr/local/php/etc/conf.d' '--enable-fpm' '--with-fpm-user=php-fpm' '--with-fpm-group=php-fpm' '--enable-soap' '--with-openssl' '--with-openssl-dir' '--with-mcrypt' '--with-pcre-regex' '--with-zlib' '--with-iconv' '--with-bz2' '--enable-calendar' '--with-curl' '--with-cdb' '--enable-dom' '--enable-exif' '--with-pcre-dir' '--enable-ftp' '--with-gd' '--with-jpeg-dir' '--with-png-dir' '--with-freetype-dir' '--with-gettext' '--with-gmp' '--with-mhash' '--enable-mbstring' '--with-libmbfl' '--with-onig' '--enable-pdo' '--with-pdo-mysql=mysqlnd' '--with-zlib-dir' '--with-readline' '--enable-session' '--enable-shmop' '--enable-simplexml' '--enable-sockets' '--enable-sysvmsg' '--enable-sysvsem' '--enable-sysvshm' '--enable-wddx' '--with-libxml-dir' '--with-xsl' '--enable-zip' '--enable-mysqlnd' '--with-mysql-sock=/tmp/mysql.sock' '--with-mysqli=/usr/local/mysql/bin/mysql_config' '--without-pear'
  

  #编译及安装
  make && make install
  

  #复制Php 主配置:
  cp php.ini-production /usr/local/php/etc/php.ini
  cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
  cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
  

  #创建php-fpm 主配置文件:
  sed -i '1,$s#;pid = run/php-fpm.pid#pid = /usr/local/php/var/run/php-fpm.pid#g' /usr/local/php/etc/php-fpm.conf
  sed -i '1,$s#;error_log = log/php-fpm.log#error_log = /usr/local/php/var/log/php-fpm.log#g' /usr/local/php/etc/php-fpm.conf
  echo "include=/usr/local/php/etc/php-fpm.d/*.conf" >> /usr/local/php/etc/php-fpm.conf
  

  cat <<EOF > /usr/local/php/etc/php-fpm.d/www.conf
[global]

  pid = /usr/local/php/var/run/php-fpm.pid
  error_log = /usr/local/php/var/log/php-fpm.log
[www]

  listen = 127.0.0.1:9000
  user = php-fpm
  group = php-fpm
  listen.owner = nginx
  listen.group = nginx
  pm = dynamic
  pm.max_children = 50
  pm.start_servers = 20
  pm.min_spare_servers = 5
  pm.max_spare_servers = 35
  pm.max_requests = 500
  rlimit_files = 1024
  EOF
  

  #测试php-fpm 配置:
  /usr/local/php/sbin/php-fpm -t
  

  #centos 7 systemctl启动php-fpm

  cp /usr/local/src/php-7.1.7/sapi/fpm/php-fpm.service /usr/lib/systemd/system/
  systemctl enable php-fpm.service
  systemctl start php-fpm.service
  

  #关闭php 版本信息:
  sed -i 's/expose_php = On/expose_php = Off/g' /usr/local/php/etc/php.ini
  

  #下载phalcon模块

  cd /usr/local/src
  git clone https://github.com/dreamsxin/cphalcon7.git
  cd cphalcon7/ext
  

  #准备环境,配置编译参数
  /usr/local/php/bin/phpize
  ./configure --with-php-config=/usr/local/php/bin/php-config >> $LOG_INS 2>&1
  

  #编译及安装
  make && make install
  

  #修改php.ini,增加扩展模块
  mkdir /usr/local/php/etc/conf.d
  echo "extension = phalcon.so" >> /usr/local/php/etc/conf.d/phalcon.ini
  #重新加载配置
  /usr/local/php/sbin/php-fpm -t
  systemctl restart php-fpm.service
  

  #===================安装nginx 1.12.1 ==============================
  #下载
  cd /usr/local/src && wget http://nginx.org/download/nginx-1.12.1.tar.gz && git clone git://github.com/alibaba/nginx-http-concat.git
  #解压:
  tar zxf nginx-1.12.1.tar.gz
  

  #创建nginx运行用户
  useradd -s /sbin/nologin nginx
  

  #进入解压目录,配置编译参数:
  cd ./nginx-1.12.1 && ./configure --prefix=/usr/local/nginx --with-http_realip_module  --with-http_sub_module --with-http_gzip_static_module --with-http_stub_status_module --with-pcre --add-module=/usr/local/src/nginx-http-concat
  

  #编译及安装
  make && make install
  

  #设置软链接
  ln -s /usr/local/lib/libmaxminddb.so.0 /usr/lib64
  ln -s /usr/local/lib/libprofiler.so.0 /usr/lib64
  ln -s /usr/local/lib/libunwind.so.8 /usr/lib64
  

  #检测初始化完成的nginx 配置是否有问题
  /usr/local/nginx/sbin/nginx  -t
  

  #centos 7创建nginx启动脚本
  cat <<EOF > /usr/lib/systemd/system/nginx.service
[Unit]

  Description=nginx
  Documentation=http://nginx.org/en/docs/
  After=network-online.target remote-fs.target nss-lookup.target
  Wants=network-online.target
  

[Service]

  Type=forking
  PIDFile=/usr/local/nginx/logs/nginx.pid
  ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
  ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
  ExecReload=/bin/kill -s HUP $MAINPID
  ExecStop=/bin/kill -s TERM $MAINPID
  

[Install]

  WantedBy=multi-user.target
  EOF
  

  #将nginx加入到开机启动
  systemctl enable nginx.service
  

  #备份nginx主配置文件
  cp /usr/local/nginx/conf/nginx.conf{,.bak}
  

  #重新nginx 配置:
  cat << EOF > /usr/local/nginx/conf/nginx.conf
  user nginx nginx;
  error_log /var/log/nginx_error.log crit;
  pid /usr/local/nginx/logs/nginx.pid;
  worker_processes  auto;
  worker_rlimit_nofile 65535;
  events {
  use epoll;
  worker_connections  65535;
  }
  http {
  include      mime.types;
  default_type  application/octet-stream;
  sendfile        on;
  keepalive_timeout  65;
  server_tokens off;
  charset utf-8;
  tcp_nopush on;
  tcp_nodelay on;
  gzip on;
  gzip_min_length 100;
  gzip_buffers 4 16k;
  gzip_http_version 1.0;
  gzip_comp_level 6;
  gzip_types text/plain application/x-javascript text/css application/xml;
  gzip_vary on;
  server {
  listen      80;
  server_name  localhost;
  location / {
  root  html;
  index  index.html index.htm index.php;
  }
  error_page  500 502 503 504  /50x.html;
  location = /50x.html {
  root  html;
  }
  location ~ \.php\$ {
  root          html;
  fastcgi_pass  127.0.0.1:9000;
  fastcgi_index  index.php;
  fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
  include        fastcgi_params;
  }
  }
  }
  EOF
  

  #创建PHP测试文件:
  echo "<?php  echo phpinfo();  ?>" >/usr/local/nginx/html/index.php
  

  #备份index.html:
  mv /usr/local/nginx/html/index.html{,.bak}
  

  #启动nginx:
  #service nginx start
  systemctl start nginx.service
  

  #清空防火墙配置
  iptables -F
  

  #设置nginx、mysql 及php 的环境变量:
  echo "PATH=$PATH:/usr/local/php/bin:/usr/local/nginx/sbin:/usr/local/mysql/bin:/usr/local/php/sbin" >> /etc/profile
  

  #刷新环境变量配置,使其立即生效:
  source /etc/profile
  

  浏览器访问ip,会出现php的相关信息。
  

运维网声明 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-450126-1-1.html 上篇帖子: centos7 更改成自己想要的网卡名称 下篇帖子: centos7.2 搭建BugFree
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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