1、配置防火牆php
vim /etc/sysconfig/iptablesmysql
# 容許80端口經過防火牆nginx
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPTc++
# 容許3306端口經過防火牆web
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPTsql
# 容許21端口經過防火牆shell
-A INPUT -p tcp -m state -m tcp --dport 21 --state NEW -j ACCEPTvim
# 禁用pingsession
-A INPUT -p icmp --icmp-type 8 -s 0/0 -j DROPapp
# 重啓防火牆使配置生效
/etc/init.d/iptables restart
備註: COMMIT ~ COMMIT 之間方可生效
2、安裝Tengine
# 更新yum
yum update
# 刪除系統自帶的軟件包
yum remove httpd* php*
# 編譯庫
yum install gcc-c++
# 安裝依賴庫
yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel
# 安裝ngx_cache_purge模塊
wget http://labs.frickle.com/files/ngx_cache_purge-2.1.tar.gz && tar -zxvf ngx_cache_purge-2.1.tar.gz && rm -rf ngx_cache_purge-2.1.tar.gz
# 下載Tengine
wget http://tengine.taobao.org/download/tengine-2.0.3.tar.gz
# 解壓,重命名,刪除包
tar -zxvf tengine-2.0.3.tar.gz && rm -rf tengine-2.0.3.tar.gz
# 安裝Tengine
cd tengine-2.0.3 && ./configure --add-module=/usr/local/ngx_cache_purge-2.1 --with-http_stub_status_module --prefix=/usr/local/nginx --user=nginx --group=nginx && make && make install
# 設置nginx開機啓動 (配置文件 -> nginx開機啓動.txt)
vim /etc/rc.d/init.d/nginx
chmod 775 /etc/rc.d/init.d/nginx
chkconfig --level 012345 nginx on
# 添加nginx組與添加nginx用戶並啓動nginx
groupadd nginx && useradd -g nginx nginx && service nginx start
3、安裝MySQL
# 輸入Y便可自動安裝,直到安裝完成
yum install mysql mysql-server
# 啓動MySQL
/etc/init.d/mysqld start
# 設爲開機啓動
chkconfig mysqld on
# 拷貝配置文件(注意:若是/etc目錄下面默認有一個my.cnf,直接覆蓋便可)
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
# 爲root帳戶設置密碼回車,根據提示輸入Y,輸入2次密碼,回車,根據提示一路輸入Y,最後出現:Thanks for using MySQL!
mysql_secure_installation
# MySql密碼設置完成,從新啓動 MySQL:(restart:重啓, stop:中止, start:啓動)
/etc/init.d/mysqld (restart|stop|start)
service mysqld (restart|stop|start)
4、安裝PHP5
# 根據提示輸入Y直到安裝完成
yum install php php-fpm
# 這裏選擇以上安裝包進行安裝,根據提示輸入Y回車
yum install php-mysql php-gd libjpeg* php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath php-mhash libmcrypt
# 設置php-fpm開機啓動
chkconfig php-fpm on
# 啓動php-fpm (restart:重啓, stop:中止, start:啓動)
/etc/init.d/php-fpm (restart|stop|start)
service php-fpm (restart|stop|start)
5、配置nginx支持php
# 備份原有配置文件
cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.backup
# 編輯 nginx.conf (配置文件 -> nginx.conf.txt)
vim /usr/local/nginx/conf/nginx.conf
# 增長代理配置文件 (配置文件 -> proxy(代理配置).conf.txt)
vim /usr/local/nginx/conf/proxy.conf
# 增長主機配置文件 (配置文件 -> mysvrhost(主機配置).conf.txt)
vim /usr/local/nginx/conf/mysvrhost.conf
# 增長壓縮配置文件 (配置文件 -> mysvrhost(主機配置).conf.txt)
vim /usr/local/nginx/conf/gzip.conf
# 增長虛擬機配置文件 (配置文件 -> 虛擬機.conf.txt)
vim /usr/local/nginx/conf/conf.d/xxx.conf
# 優化TCP設置 (配置文件 -> 優化TCP設置.txt)
vim /etc/sysctl.conf
/sbin/sysctl -p
# 重啓nginx
service nginx restart
6、php配置
# 編輯 php.ini
vim /etc/php.ini
# 在946行 把前面的分號去掉,改成date.timezone = PRC
date.timezone = PRC
# 在386行 列出PHP能夠禁用的函數,若是某些程序須要用到這個函數,能夠刪除,取消禁用
disable_functions =
passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd,posix_getegid,posix_geteuid,posix_getgid,posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid,posix_getppid,posix_getpwnam,posix_getpwuid,posix_getrlimit,posix_getsid,posix_getuid,posix_isatty,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname
# 在432行 禁止顯示php版本的信息
expose_php = Off
# 給session 相關用戶權限
cd /var/lib/php/ && chown -R nginx:nginx session
7、配置php-fpm
# 備份原有配置文件並編輯
cp /etc/php-fpm.d/www.conf /etc/php-fpm.d/www.conf.backup && vim /etc/php-fpm.d/www.conf
# 修改用戶爲nginx
user = nginx
# 修改組爲nginx
group = nginx
8、新建站點
# 進入 /home/webapps
cd /home/webapps
# 新建站點
mkdir www.xxx.com/{backup,logs,public} && cd www.xxx.com
# 設置Nginx運行權限
chown nginx.nginx -R public
# 新建測試文件
vim public/index.php
# 文件內容
<?php
phpinfo();
9、重啓nginx,php-fpm
# 重啓nginx
service nginx restart
# 重啓php-fpm
service php-fpm restart