安裝前准備工作
先安裝一些必要的類庫
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;