Centos 7 下 nginx+php安装文档

最近公司已大牛离职,本人临时从当了一下运维完成后台相关应用从aws迁移到腾讯云上,由于机器不多久没有搞自动安装什么的。而且后台应用的环境并没有统一,一些即将废弃的功能都是比较老的版本,所以就没有必要搞了,全部人肉安装。

一、创建运行用户组合用户
groupadd www
useradd -g www www
创建了用户组和用户,并把用户归到www组中

二、安装依赖工具
yum -y install gcc automake autoconf libtool make gcc gcc-c++
yum -y install libmcrypt-devel mhash-devel libxslt-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel pcre pcre-devel

三、安装nginx
1、安装
wget http://nginx.org/download/nginx-1.12.2.tar.gz
tar -zxvf nginx-1.12.2.tar.gz
cd nginx-1.12.2
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-pcre --with-pcre-jit  --with-http_stub_status_module --with-stream
make
make install
2、修改配置文件
vi /usr/local/nginx/conf/nginx.conf
修改一下项或者直接全文替换:
user www www;
worker_processes auto;
pid /usr/local/nginx/logs/nginx.pid;
error_log  /dev/null;
worker_rlimit_nofile 51200;
events
{
    use epoll;
    worker_connections 51200;
}
http
{
    include      /usr/local/nginx/conf/mime.types;
    default_type  application/octet-stream;
    charset utf-8;
    log_format  main  '$remote_addr - $remote_user [$time_local] $request ' '"$status" $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"';
    access_log  /dev/null;
    server_names_hash_bucket_size 128;
    client_header_buffer_size 32k;
    large_client_header_buffers 4 32k;
    client_body_buffer_size    8m; #256k
    server_tokens off;
    ignore_invalid_headers  on;
    recursive_error_pages    on;
    server_name_in_redirect off;
    sendfile                on;
    keepalive_timeout 60;
    tcp_nopush  on;
    tcp_nodelay on;
    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;
    fastcgi_hide_header X-Powered-By;
    client_max_body_size      50m;
    gzip on;
    gzip_min_length  1k;
    gzip_buffers    4 16k;
    gzip_http_version 1.0;
    gzip_comp_level 2;
    gzip_types      text/plain application/x-javascript text/css application/xml;
    gzip_vary on;
    proxy_temp_path            /dev/shm/proxy_temp;
    fastcgi_temp_path          /dev/shm/fastcgi_temp;
    client_body_temp_path      /dev/shm/client_body_temp;
    upstream web {
        server 127.0.0.1:80;
    }
    upstream php {
        server 127.0.0.1:9000 max_fails=0;
    }
    fastcgi_next_upstream error timeout invalid_header http_500;
    include          vhosts/*.conf;
}
3、设置开机启动
vi /etc/init.d/nginx
#! /bin/bash
# chkconfig: - 85 15
PATH=/usr/local/nginx
DESC="nginx daemon"
NAME=nginx
DAEMON=$PATH/sbin/$NAME
CONFIGFILE=$PATH/conf/$NAME.conf
PIDFILE=$PATH/logs/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
set -e
[ -x "$DAEMON" ] || exit 0
do_start() {
    $DAEMON -c $CONFIGFILE || echo -n "nginx already running"
}
do_stop() {
    $DAEMON -s stop || echo -n "nginx not running"
}
do_reload() {
    $DAEMON -s reload || echo -n "nginx can't reload"
}
case "$1" in
start)
    echo -n "Starting $DESC: $NAME"
do_start
    echo "."
    ;;
stop)
    echo -n "Stopping $DESC: $NAME"
do_stop
    echo "."
    ;;
reload|graceful)
    echo -n "Reloading $DESC configuration..."
do_reload
    echo "."
    ;;
restart)
    echo -n "Restarting $DESC: $NAME"
do_stop
do_start
    echo "."
    ;;
*)
    echo "Usage: $SCRIPTNAME {start|stop|reload|restart}" >&2
    exit 3
    ;;
esac
exit 0

保存
chmod a+x nginx //修改文件运行权限
chkconfig --add nginx
chkconfig nginx on

nginx启动和停止方式:
service nginx start
service nginx stop
service nginx restart
service nginx reload

四、安装php5.6
wget http://cn2.php.net/distributions/php-5.6.32.tar.gz
tar -zxvf php-5.6.32.tar.gz
cd php-5.6.32
./configure --prefix=/usr/local/php-5.6.32 --with-config-file-path=/usr/local/php-5.6.32/etc --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysql --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-xmlrpc --with-xsl --with-zlib --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --enable-zip
make
make install
cp /usr/local/php-5.6.32/bin/php /usr/bin
cp php.ini-development /usr/local/php-5.6.32/etc/php.ini
cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

修改php.ini
vi /usr/local/php-5.6.32/etc/php.ini
修改一下几项并去掉全面的分号:
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
error_log = /tmp/php-errors.log
upload_max_filesize = 8M
date.timezone = PRC

修改php-fpm.conf,前面有分号的要去掉分号
vi /usr/local/php-5.6.32/etc/php-fpm.conf

[global]
pid = /usr/local/php-5.6.32/var/run/php-fpm.pid
error_log = /usr/local/php-5.6.32/var/log/php-fpm.log
log_level = notice
emergency_restart_threshold = 10
emergency_restart_interval = 1m
process_control_timeout = 5s
daemonize = yes
[www]
listen = 127.0.0.1:9000
listen.backlog = 512
listen.allowed_clients = 127.0.0.1
user = www
group = www
pm = static
pm.max_children = 256
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 128
pm.status_path = /php_status
request_terminate_timeout = 0s
request_slowlog_timeout = 5s
slowlog = logs/slow.log
rlimit_files = 65535
rlimit_core = 0
chroot =
chdir =
catch_workers_output = yes
env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp

设置开启启动
chmod a+x php-fpm //修改文件运行权限
chkconfig --add php-fpm
chkconfig php-fpm on

php-fpm启动和停止方式:
service php-fpm start
service php-fpm stop
service php-fpm restart
service php-fpm reload

安装yaf扩展
php版本为7的必须是3以上的,5.6的必须是2的版本
wget http://pecl.php.net/get/yaf-2.3.5.tgz
tar -zxvf yaf-2.3.5.tgz
cd yaf-2.3.5 && /usr/local/php-5.6.32/bin/phpize
./configure --with-php-config=/usr/local/php-5.6.32/bin/php-config
make
make install

安装redis扩展
wget http://pecl.php.net/get/redis-3.1.4.tgz
tar -zxvf redis-3.1.4.tgz
cd redis-3.1.4
/usr/local/php-5.6.32/bin/phpize
./configure --with-php-config=/usr/local/php-5.6.32/bin/php-config
make
make install

修改php.ini在文件尾部增加:
[redis]
extension = "redis.so"
[yaf]
yaf.library="/hood/" #hood是基于yaf做的框架扩展
yaf.environ=production #运行环境,根据网站需要进行设置
yaf.use_namespace=1
yaf.cache_config=1
extension = "yaf.so"

你可能感兴趣的:(Centos 7 下 nginx+php安装文档)