安裝前準備工作
先安裝一些必要的類庫
yum install -y wget zlib-devel bzip2-devel curl-devel openssl openssl-devel vim subversion pcre-devel
php需要的一些類庫
yum install -y libxml2 libxml2-devel freetype-devel libjpeg-devel libpng-devel libtiff-devel libxslt-devel
//mcrypt擴充
yum install -y libmcrypt libmcrypt-devel php-mcrypt
mysql相關類庫
yum install -y cmake gcc gcc-c++ perl-Data-Dumper libaio git perl bison ncurses-devel
一、安裝nginx
1、下載下傳nginx安裝包
wget -c http://nginx.org/download/nginx-1.7.4.tar.gz
2、進入目錄,解壓
tar -zxvf nginx-1.7.4.tar.gz
3、編譯
./configure --prefix=/usr/local/nginx --with-pcre --with-file-aio --with-http_gzip_static_module --with-http_ssl_module --with-http_stub_status_module
4、安裝
make && make install
5、檢查是否安裝成功
/usr/local/nginx/sbin/nginx -t檢測是否成功
/usr/local/nginx/sbin/nginx 啟動nginx
/usr/local/nginx/sbin/nginx -s reload 重新開機
6、開放端口
vi /etc/sysconfig/iptables #編輯防火牆配置檔案
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 3360 -j ACCEPT
儲存退出
service iptables restart 重新開機防火牆
7、關閉SELINUX
vi /etc/selinux/config
#SELINUX=enforcing #注釋掉
SELINUX=disabled #增加
儲存退出
setenforce 0 #使配置立即生效
二、PHP編譯安裝
1、下載下傳php壓縮包
http://php.net/get/php-5.4.41.tar.gz/from/a/mirror
2、解壓
tar xzvf php-5.4.41.tar.gz
3、編譯安裝
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --with-openssl --with-pear=/usr/share/php --enable-ftp --enable-zip --with-bz2 --with-zlib --with-libxml-dir=/usr --with-gd --enable-gd-native-ttf --with-jpeg-dir --with-png-dir --with-freetype-dir --with-gettext --with-iconv --enable-mbstring --disable-ipv6 --enable-inline-optimization --enable-static --enable-sockets --enable-soap --with-mhash --with-pcre-regex --with-mcrypt --with-curl --with-mysql --with-mysqli --with-pdo_mysql
make && make install
4、配置
進入php配置目錄
cd /usr/local/php/etc
cp php.ini-development php.ini
cp php-fpm.conf.default php-fpm.conf
#編輯php-fpm配置檔案(簡單配置一下)
vi /usr/local/php/etc/php-fpm.conf
user = nobody #設定php-fpm運作賬号為nobody
group = nobody #設定php-fpm運作組為nobody
pid = run/php-fpm.pid #取消前面的分号
:wq! #儲存退出
#編輯php.ini配置檔案(簡單配置一下,更多配置請參考官方說明)
vi /usr/local/php/etc/php.ini
找到:;date.timezone =
修改為:date.timezone = PRC #設定時區
找到:expose_php = On
修改為:expose_php = Off #禁止顯示php版本的資訊
找到:short_open_tag = Off
修改為:short_open_tag = ON #支援php短标簽
找到opcache.enable=0
修改為opcache.enable=1 #php支援opcode緩存
找到:opcache.enable_cli=1 #php支援opcode緩存
修改為:opcache.enable_cli=0
在最後一行添加:zend_extension=opcache.so #開啟opcode緩存功能
:wq! #儲存退出
5、啟動php-fpm
執行 /usr/local/php/sbin/php-fpm
6、設定php-fpm開機啟動
cp phpsrc/sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm #拷貝php-fpm到啟動目錄
chmod +x /etc/rc.d/init.d/php-fpm #添加執行權限
chkconfig php-fpm on #設定開機啟動
7、php-fpm程序管理
/usr/local/php/sbin/php-fpm #啟動php-fpm
INT, TERM 立刻終止
QUIT 平滑終止
USR1 重新打開日志檔案
USR2 平滑重載所有worker程序并重新載入配置和二進制子產品
kill -INT `cat /usr/local/php/var/run/php-fpm.pid`(程序号)
kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`
php.ini-development
8、配置nginx支援php
vi /usr/local/nginx/conf/nginx.conf
修改/usr/local/nginx/conf/nginx.conf 配置檔案,需做如下修改
user nobody nobody; #首行user去掉注釋,修改Nginx運作組為nobody nobody;必須與/usr/local/php/etc/php-fpm.conf中的user,group配置相同,否則php運作出錯
index index.html index.htm index.php; #添加index.php
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
#取消FastCGI server部分location的注釋,注意fastcgi_param行的參數,改為$document_root$fastcgi_script_name,或者使用絕對路徑
重新開機nginx
/usr/local/nginx/bin/nginx -s reload
三、Mysql安裝
mysql的安裝方式有2種,一種是編譯安裝,一種是直接下載下傳編譯好的壓縮包進行安裝
這裡采用官方編譯好的方式進行安裝
1、下載下傳mysql
wget -c http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz
2、解壓,将其解壓在/usr/local/mysql目錄下
tar xzvf mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz
3、建立mysql使用者組
shell> groupadd mysql
shell> useradd -g mysql -s /bin/false mysql
4、進入mysql解壓後的目錄,安裝mysql
cd /usr/local/mysql
進入安裝路徑,執行初始化配置腳本,建立系統自帶的資料庫和表
scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
mysql5.7.6以上版本請用如下指令安裝
shell> bin/mysql_install_db --user=mysql # Before MySQL 5.7.6
shell> bin/mysqld --initialize --user=mysql # MySQL 5.7.6 and up
shell> bin/mysql_ssl_rsa_setup # MySQL 5.7.6 and up
記住安裝後的指令行提示的mysql密碼
--複制my.cnf配置檔案
cp support-files/my-medium.cnf /usr/local/mysql/my.cnf
注:在啟動MySQL服務時,會按照一定次序搜尋my.cnf,先在/etc目錄下找,找不到則會搜尋"$basedir/my.cnf",在本例中就是 /usr/local/mysql/my.cnf,這是新版MySQL的配置檔案的預設位置!注意:在CentOS 6.4版作業系統的最小安裝完成後,在/etc目錄下會存在一個my.cnf,需要将此檔案更名為其他的名字,如:/etc/my.cnf.bak,否則,該檔案會幹擾源碼安裝的MySQL的正确配置,造成無法啟動。
修改/usr/local/mysql權限
chown -R mysql:mysql /usr/local/mysql
5、啟動MySQL
添加服務,拷貝服務腳本到init.d目錄,并設定開機啟動
cp support-files/mysql.server /etc/init.d/mysql
chmod +x mysql
chkconfig mysql on
service mysql start --啟動MySQL
6、修改mysql密碼
./mysqladmin -p舊密碼 password 新密碼;
7、修改遠端通路權限(這裡以root為例)
grant all privileges on *.* to \'root\'@\'%\' identified by \'123456\';
flush privileges;