Centos6.5安装PHP5.6 -- 7.0运行环境说明

LNPR安装说明

 

 https://webtatic.com/packages/nginx18/

{

https://webtatic.com/packages/php55/

https://webtatic.com/packages/php56/

https://webtatic.com/packages/php70/

}

https://webtatic.com/packages/mysql55/

 

 

Linux

 

Linux,是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU得操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Uninx以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。这里采用目前市面上主流的Linux服务器系统版本CentOS

Install

  1. 镜像下载地址Centos
  2. 按照提示一步一步安装,这里不再累述;

Nginx

Nginx("engine x")是一个高性能的HTTP和 反向代理 1 服务器,也是一个IMAP/POP3/SMTP代理服务器2 。Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好。

Install

yum install

新创建一个文件nginx.repo文件存放至/etc/yum.repos.d/nginx.repo,并将下面内容复制:

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1


新yum 3并安装Nginx

 

$ yum update
$ yum -y install nginx


启动Nginx

 

 

$ /etc/init.d/nginx start    #start|stop|restart|reload|status|configtest

 

yum配置

 

通过yum安装的Nginx,配置文件的路径/etc/nginx

user                    nginx;  //nginx启动的user
worker_processes        2;  //nginx进程数,建议按照cpu数目来指定,一般为它的倍数
worker_cpu_affinity     0101 1010;  // 为每个进程分配cpu,例中将2个进程分配到8个cpu,当然可以写多个,或者将一个进程分配到多个cpu

error_log               /var/log/nginx/error/log warn;  //错误日志路径可以自选 [debug | info | notice | warn | error | crit | alert |emerg]

pid                     /var/run/nginx.pid;    //进程ID指定文件

worker_rlimit_nofile    102400;    //这个指令是指当一个nginx进程打开的最多文件描述符数目,理论值应该是最多打开文件数(ulimit -n)与nginx进程数相除,但是nginx分配请求并不是那么均匀,所以最好与ulimit -n的值保持一致。  

events {
    use                     epoll;  //使用epoll的I/O模型
    worker_connections      102400;     //每个进程允许的最多连接数,理论上每台nginx服务器的最大连接数为worker_processes*worker_connections。
}

http {
    include             /etc/nginx/mime.types;  //MIME是用于描述信息内容类型的国际标准,信息可以包含文本、图像、音频、视频和其他的应用程序细节数据。
    default_type        application/octet-stream;
    charset             utf-8;  //默认编码
    server_names_hash_bucket_size   128;    //服务器名字的hash表大小
    client_header_buffer_size   32k;    //上传文件大小限制
    large_client_header_buffers     4   64k;    //设定请求缓
    client_max_body_size    8m; //设定请求缓
    sendfile    on;     //开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出文件,对于普通应用设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的负载。注意:如果图片显示不正常把这个改成off。
    autoindex   on;     //开启目录列表访问,合适下载服务器,默认关闭
    tcp_nopush  on;     //防止网络阻塞
    tcp_nodelay on;     //防止网络阻塞
    keepalive_timeout   120;    //长连接超时时间,单位秒

    #FastCGI相关参数是为了改善网站的性能:减少资源占用,提高访问速度
    fastcgi_connect_timeout     300;
    fastcgi_send_timeout        300;
    fastcgi_read_timeout        300;
    fastcgi_buffer_size         64k;
    fastcgi_buffers     4   64k;
    fastcgi_busy_buffers_size   128k;
    fastcgi_temp_file_write_size    128k;

    #gzip模块设置
    gzip    on; //开启gzip压缩输出
    gzip_min_length     1k;     //最小压缩文件大小
    gzip_buffers    4   16k;    //压缩缓冲区
    gzip_http_version   1.0;    //压缩版本 默认1.1,前端使用squid2.5,使用1.0
    gzip_comp_level     2;      //压缩等级
    gzip_type   text/plain  application/x-javascript    text/css application/xml;   //压缩类型,默认就已经包含text/html,所以下面就不用再写了,写上去也不会有大问题,但是会有个一warn
    gzip_vary       on;

    include     /etc/nginx/conf.d/*.conf;   //引入配置server配置文件

}


虚拟主机配置 /etc/nginx/conf.d/ 后缀为.conf

 

server
{
    listen  80; //监听端口
    server_name     *.ideliver.cn *.ideliver.com;  //可以是域名也可以是IP,多个使用空格隔开
    index   index.html index.htm index.php;
    root    /dev/app;
    location ~ .*.(php|php5)?$
    {
        fastcgi_pass    127.0.0.1:9000;
        fastcgi_index   index.php;
        include     fastcgi_conf;
    }

    #图片缓存时间设置
    location ~ .*.(git|jpg|jpeg|png|bmp|swf)$
    {
        expires     10d;
    }

    #js和css缓存时间设置
    location ~ .*.(js|css)?$
    {
        expires     1h;
    }

    #日志格式设定
    log_format access '$remote_addr - $remote_user [$time_local] "$request" '
    '$status $body_bytes_sent "$http_referer" '
    '"$http_user_agent" $http_x_forwarded_for';

    #定义虚拟机的访问日志
    access_log      /var/log/nginx/ideliver.log.access;

    #其他的配置请参考Nginx官网

}


目前DEV环境下配置案例

 

 

server {
    listen       80;
    server_name  ~^dev(-[a-z\d]+)?\.php\.ideliver2\.cn$;
    server_name  ~^(admin|activite)\.dev(-[a-z\d]+)?\.php\.ideliver2\.cn$;

    autoindex on;

    # 默认用户是test
    set $dev_user 'develop';

    # 默认项目是api
    set $dev_proj   'api';

    # 分别有api(默认)、admin、activite等子系统
    if ( $http_host ~* "^(admin|activite)\.dev(-[a-z\d]+)?\.php\.ideliver2\.cn$") {
        set $dev_proj $1; 
    }

    # 读取用户名,匹配不到则为test

    if ( $http_host ~* "dev-([a-z\d]+)\.php\.ideliver2\.cn$") {
        set $dev_user $1;
    }

    #默认的开发环境
    set $dev_root "/home/$dev_user/htdocs/$dev_proj";

    add_header X-Dev_User   $dev_user;
    add_header X_Dev_Proj   $dev_proj;

    root    $dev_root;

    location / {
        index  index.html index.htm index.php;
        try_files $uri @rewrite;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    location ~ \.php$ {
        try_files      $uri @rewrite;
        fastcgi_pass   127.0.0.1:9000;
        #fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $dev_root$fastcgi_script_name;
        include        fastcgi_params;
    }

    location @rewrite {
        rewrite ^/api/(.*)?(.*)$ /api.php?jk=$1$2;
        rewrite ^/(.*)/api/(.*)?(.*)$ /$1/api.php?jk=$2$3 last;
        #rewrite (.*) /index.php?$1 last;
    }
}


其中rewrite是重定向,大家可以根据自己的实际项目需求进行改动!

 

 

 

PHP

yum源

rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm

yum search php

 

php install

yum install -y php55w php55w-fpm //空格加上所需的插件

 

pecl install

yum install -y php55w-pear php55w-dev

 

swoole install

 

可以安装其他pecl

pecl install swoole
//安装成功后,请将swoole.so文件添加至php.ini文件中

pecl install redis  //Redis

//安装mongo需安装openssl
sudo yum search openssl
sudo yum install openssl
sudo yum install openssl-devel

pecl install mongo //MongoDB... 

 

 

 

 

 

启动php-fpm

/etc/init.d/php-fpm start       #start|stop|restart|reload|status|configtest

 

Redis

 

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。

yum源

rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

 

Redis install

yum --enablerepo=remi,remi-test install redis

 

Redis 启动

/etc/init.d/redis #start|stop|restart|reload|status|configtest

 

安装mysql

 

https://webtatic.com/packages/mysql55/

你可能感兴趣的:(php,Linux服务器配置,linux)