ubuntu nginx php shell
Pin Young Lv9

ubuntu 下一键安装 nginx php 的环境

#!/bin/bash
#清理系统
apt-get remove nginx-* php5-* sysv-rc-conf --purge
#安装 基础环境
sudo apt-get -y install python-dev python-setuptools make libpcre3-dev libcurl4-openssl-dev
#安装 服务管理程序
sudo apt-get -y install sysv-rc-conf
#安装 php
sudo apt-get -y install php5-dev php-pear php5-cli php5-cgi php5-fpm php5-mcrypt php5-curl php5-gd
sudo sysv-rc-conf --level 2345 php5-fpm on
#配置 sqlite
sudo apt-get -y install sqlite3 php5-sqlite
sudo echo "extension=sqlite.so" >> /etc/php5/fpm/php.ini
#安装配置 mysql
sudo apt-get -y install mysql-server php5-mysql
sudo echo "extension=mysql.so" >> /etc/php5/fpm/php.ini
sudo sysv-rc-conf --level 2345 mysql on
#安装配置 redis
sudo apt-get -y install redis-server
sudo pecl install redis
sudo echo "extension=redis.so" >> /etc/php5/fpm/php.ini
sudo sysv-rc-conf --level 2345 redis-server on
#安装配置 yaf
sudo pecl install yaf
sudo echo "extension=yaf.so" >> /etc/php5/fpm/php.ini
#安装配置 http
sudo pecl install pecl_http-1.7.6
sudo echo "extension=http.so" >> /etc/php5/fpm/php.ini
#安装 nginx
sudo apt-get -y install nginx
sudo sysv-rc-conf --level 2345 nginx on
#配置 nginx
sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.bak
cat > /etc/nginx/sites-available/default << EOF
server {
listen 80;
server_name 127.0.0.1 localhost;
root /usr/share/nginx/html;
index index.php index.html index.htm;
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;;
fastcgi_index index.php;
include fastcgi_params;
}
}
EOF
sudo mkdir -p /srv/wwwlogs/nginx
sed -i "s/\/var\/log\/nginx\//\/srv\/wwwlogs\/nginx\//g" `grep "\/var\/log\/nginx\/" -rl /etc/nginx/nginx.conf`
sudo mkdir -p /srv/wwwlogs/php
sed -i "s/\/var\/log\/php5-fpm.log/\/srv\/wwwlogs\/php\/php5-fpm.log/g" `grep "\/var\/log\/php5-fpm.log" -rl /etc/php5/fpm/php-fpm.conf`
sudo /etc/init.d/nginx restart
sudo /etc/init.d/php5-fpm restart
# link 到 srv 目录方便管理
cd /srv
ln -s /etc/nginx/sites-available
ln -s /etc/nginx/sites-enabled
ln -s /usr/share/nginx/html wwwroot

nginx 配置参考:

server {

    listen 80;
    server_name 127.0.0.1 localhost;
    root /usr/share/nginx/html/www;
    index index.php index.html index.htm;

    location ~ .*\.php(\/.*)*$ {
        include fastcgi.conf;

        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        fastcgi_connect_timeout 300;
        fastcgi_send_timeout 300;
        fastcgi_read_timeout 300;

        fastcgi_buffers 8 256k;
        fastcgi_buffer_size 256k;
        fastcgi_busy_buffers_size 256k;
        fastcgi_temp_file_write_size 256k;
        client_max_body_size 20M;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

主要是配置缓存大小