CentOS下搭建PHP运行环境。
首先是在虚拟机上装好一个命令行的CentOS,如果只是弄服务器的话,不要装图形界面,会比较卡。
一、安装编译工具及库文件
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
一个漫长的等待过程。36个安装包(64M),45个安装任务。
二、首先要安装 PCRE
PCRE 作用是让 Ngnix 支持 Rewrite 功能。
可以使用yum -y install pcre来进行安装。
先 cd /usr/src/
1、下载 PCRE 安装包,下载地址: http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz
wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz
提示 wget:command not found; 安装wget.
yum -y install wget
2、解压安装包:
tar zxvf pcre-8.35.tar.gz
3、进入安装包目录
cd pcre-8.35
4、编译安装
./configure
make && make install
5、查看pcre版本
pcre-config --version
rpm -ql pere
查看安装目录
安装 Nginx
可以直接只用yum -y install ngnix来进行安装.
1、下载 Nginx,下载地址:http://nginx.org/download/nginx-1.9.2.tar.gz
wget http://nginx.org/download/nginx-1.9.2.tar.gz
2、解压安装包
tar zxvf nginx-1.9.2.tar.gz
3、进入安装包目录
cd nginx-1.9.2
4、编译安装
这儿根据具体的pcre的具体位置填--with-pcre。
最好先用./configure --help查看自己需要添加的参数。
./configure --prefix=/etc/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/src/pcre-8.35
make
make install
5、查看nginx版本
cd /etc/nginx/sbin/
./ngnix -v
nginx version: nginx/1.9.2
6、添加nginx环境变量
vi /etc/profile
#在文件末尾加上:
PATH=/etc/nginx/sbin:$PATH
export PATH
#添加完之后,保存文件
source /etc/profile
如果你不小心改错了,忽然发现很多Linux的命令都不能用了,那就用
export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11R6/bin
vi etc/profile
改回原来的文件。
到此,nginx安装完成。
检查配置文件ngnix.conf的正确性命令:
/etc/nginx/sbin/nginx -t
修改 Nginx 配置文件
在本地修改好文件,然后上传到服务器。需要安装xsheel上传下载支持,执行命令
yum install lrzsz
然后用rz命令上传本地修改好的 nginx.conf 文件
#运行用户
user www-data;
#启动进程,通常设置成和cpu的数量相等
worker_processes 1;
worker_rlimit_nofile 65535;
#工作模式及连接数上限
events {
use epoll; #epoll是多路复用IO(I/O Multiplexing)中的一种方式,但是仅用于linux2.6以上内核,可以大大提高nginx的性能
worker_connections 1024;#单个后台worker process进程的最大并发链接数
#multi_accept on;
}
#设定http服务器,利用它的反向代理功能提供负载均衡支持
http {
##
# Basic Settings
##
#设定mime类型,类型由mime.type文件定义
include /etc/nginx/mime.types;
default_type application/octet-stream;
#sendfile 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件,对于普通应用,
#必须设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为 off,以平衡磁盘与网络I/O处理速度,降低系统的uptime.
sendfile on;
tcp_nopush on;
tcp_nodelay on;
uwsgi_pass_request_body off;
keepalive_timeout 15; #连接超时时间
types_hash_max_size 2048;
# server_tokens off;
# server_names_hash_bucket_size 64;
# server_name_in_redirect off;
#设定请求缓冲
client_max_body_size 50M;
client_header_buffer_size 2k; #生什么时候出现瓶颈?
large_client_header_buffers 4 16k;
##
# Logging Settings
##
log_format foo '$remote_addr - $remote_user [$time_local] '
'"$request" $status $request_length/$body_bytes_sent '
'"$http_referer" "$http_user_agent"';
access_log /data/log/nginx/access.log;
error_log /data/log/nginx/error.log;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 128K;
fastcgi_buffers 4 256K;
fastcgi_busy_buffers_size 256K;
fastcgi_temp_file_write_size 256K;
fastcgi_intercept_errors on;
##
# Gzip Settings
##
#开启gzip压缩
gzip on;
gzip_disable "msie6";
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
##
# Virtual Host Configs,where server defined
##
include /etc/nginx/conf.d/*.conf;
#include /etc/nginx/sites-enabled/*;
}
mkdir conf.d
在conf.d中新建一个server配置文件
添加www-data的用户 (nginx: [emerg] getpwnam(“www”) failed)
useradd -g www www-data
启动 Nginx
Nginx 启动命令如下:
/etc/nginx/sbin/nginx
Nginx 其他命令
以下包含了 Nginx 常用的几个命令:
/etc/nginx/sbin/nginx -s reload # 重新载入配置文件
/etc/nginx/sbin/nginx -s reopen # 重启 Nginx
/etc/nginx/sbin/nginx -s stop # 停止 Nginx
PHP 编译安装
下载php: http://php.net/get/php-5.6.26.tar.gz/from/a/mirror
具体版本可以去 http://php.net 查看,选择自己想要的版本进行下载
2、解压安装包
tar zxvf php-5.6.26.tar.gz
3、进入安装包目录
cd php-5.6.26
4、编译安装
# ./configure --prefix=/usr/local/php
--with-config-file-path=/usr/local/php/etc
--with-mysql=/usr/local/mysql
--with-mysqli=/usr/local/mysql/bin/mysql_config
--with-iconv-dir=/usr/local
--with-freetype-dir
--with-jpeg-dir
--with-png-dir
--with-zlib
--with-gd
--enable-gd-native-ttf
--with-libxml-dir=/usr
--enable-xml
--disable-rpath
--enable-discard-path
--enable-safe-mode
--enable-bcmath
--enable-shmop
--enable-sysvsem
--enable-inline-optimization
--with-curl
--with-curlwrappers
--enable-mbregex
--enable-fastcgi
--enable-fpm
--enable-force-cgi-redirect
--enable-mbstring
--with-mcrypt
--with-openssl
--with-mhash
--enable-pcntl
--enable-sockets
--with-ldap
--with-ldap-sasl
--with-xmlrpc
--enable-zip
--enable-soap
--without-pear
make
make install