CentOS下nginx php mysql 环境搭建

时间:2021-09-05 20:33:22

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