天天看點

CentOs6.5配置LTMP服務(Tengine,php,mysql)

一、配置防火牆

vim /etc/sysconfig/iptables

# 允許80端口通過防火牆

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

# 允許3306端口通過防火牆

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

# 允許21端口通過防火牆

-A INPUT -p tcp -m state -m tcp --dport 21 --state NEW -j ACCEPT

# 禁用ping

-A INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP

# 重新開機防火牆使配置生效

/etc/init.d/iptables restart

備注: COMMIT ~ COMMIT 之間方可生效

二、安裝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

三、安裝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)

四、安裝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)

五、配置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

六、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

七、配置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

八、建立站點

# 進入 /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();

九、重新開機nginx,php-fpm

# 重新開機nginx

service nginx restart

# 重新開機php-fpm

service php-fpm restart