1.安裝的前提:剛剛裝完centos7系統 能連外網
下載所須要的全部安裝包: 連接:http://pan.baidu.com/s/1bE5Lb4 密碼:of6k
2.
關閉firewall:php
systemctl stop firewalld.service #中止firewallhtml
systemctl disable firewalld.service #禁止firewall開機啓動mysql
安裝iptables防火牆linux
yum install iptables-services #安裝nginx
vi /etc/sysconfig/iptables #編輯防火牆配置文件
c++
# Firewall configuration written by system-config-firewallgit
# Manual customization of this file is not recommended.github
*filterredis
:INPUT ACCEPT [0:0]sql
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
:wq! #保存退出
systemctl restart iptables.service #最後重啓防火牆使配置生效
systemctl enable iptables.service #設置防火牆開機啓動
2、關閉SELINUX
vi /etc/selinux/config
#SELINUX=enforcing #註釋掉
#SELINUXTYPE=targeted #註釋掉
SELINUX=disabled #增長
:wq! #保存退出
setenforce 0 #使配置當即生效
三 、系統約定
軟件源代碼包存放位置:/usr/local/src
源碼包編譯安裝位置:/usr/local/軟件名字
5、安裝編譯工具及庫文件(使用yum命令安裝)
yum install -y apr* autoconf automake bison bzip2 bzip2* cloog-ppl compat* cpp curl curl-devel fontconfig fontconfig-devel freetype freetype* freetype-devel gcc gcc-c++ gtk+-devel gd gettext gettext-devel glibc kernel kernel-headers keyutils keyutils-libs-devel krb5-devel libcom_err-devel libpng libpng-devel libjpeg* libsepol-devel libselinux-devel libstdc++-devel libtool* libgomp libxml2 libxml2-devel libXpm* libtiff libtiff* make mpfr ncurses* ntp openssl openssl-devel patch pcre-devel perl php-common php-gd policycoreutils telnet t1lib t1lib* nasm nasm* wget zlib-devel --skip-broken
安裝篇:
1、安裝MySQL
一、安裝cmake
cd /usr/local/src
tar zxf cmake-2.8.11.2.tar.gz
cd cmake-2.8.11.2
./configure
make && make install
二、安裝MySQL
groupadd mysql #添加mysql組
useradd -g mysql mysql -s /bin/false #建立用戶mysql並加入到mysql組,不容許mysql用戶直接登陸系統
mkdir -p /data/mysql #建立MySQL數據庫存放目錄
chown -R mysql:mysql /data/mysql #設置MySQL數據庫存放目錄權限
mkdir -p /usr/local/mysql #建立MySQL安裝目錄
cd /usr/local/src #進入軟件包存放目錄
tar zxf mysql-5.6.15.tar.gz #解壓
cd mysql-5.6.15 #進入目錄
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc #配置
make && make install #安裝
rm -rf /etc/my.cnf #刪除系統默認的配置文件(若是默認沒有就不用刪除)
cd /usr/local/mysql #進入MySQL安裝目錄
./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql #生成mysql系統數據庫
ln -s /usr/local/mysql/my.cnf /etc/my.cnf #添加到/etc目錄的軟鏈接
cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld #把Mysql加入系統啓動
chmod 755 /etc/init.d/mysqld #增長執行權限
chkconfig mysqld on #加入開機啓動
vi /etc/rc.d/init.d/mysqld #編輯
basedir=/usr/local/mysql #MySQL程序安裝路徑
datadir=/data/mysql #MySQl數據庫存放目錄
service mysqld start #啓動
vi /etc/profile #把mysql服務加入系統環境變量:在最後添加下面這一行
export PATH=$PATH:/usr/local/mysql/bin
source /etc/profile
下面這兩行把myslq的庫文件連接到系統默認的位置,這樣你在編譯相似PHP等軟件時能夠不用指定mysql的庫文件地址。
ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql
ln -s /usr/local/mysql/include/mysql /usr/include/mysql
mkdir /var/lib/mysql #建立目錄
ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock #添加軟連接
mysql_secure_installation #設置Mysql密碼,根據提示按Y 回車輸入2次密碼
附加:配置mysql遠程訪問:
在本機先使用root用戶登陸mysql: mysql -u root -p"youpassword" 進行受權操做:
1.容許 root 用戶在任何地方以 youpassword 的密碼登陸
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;
2.容許 liuhaizhuang 這個用戶 在任何地方以 youpassword 的密碼登陸
mysql>GRANT ALL PRIVILEGES ON *.* TO 'liuhaizhuang'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;
3.容許 liuhaizhuang 這個用戶 在這個IP 192.168.122.122 上 以 youpassword 的密碼登陸
mysql>GRANT ALL PRIVILEGES ON *.* TO 'liuhaizhuang'@'192.168.122.122' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit
service mysqld restart
2、安裝Nginx
一、安裝pcre
cd /usr/local/src
mkdir /usr/local/pcre
tar zxf pcre-8.35.tar.gz
cd pcre-8.35
./configure --prefix=/usr/local/pcre
make && make install
二、安裝openssl
cd /usr/local/src
mkdir /usr/local/openssl
tar zxf openssl-1.0.1h.tar.gz
cd openssl-1.0.1h
./config --prefix=/usr/local/openssl
make && make install
vi /etc/profile
export PATH=$PATH:/usr/local/openssl/bin
:wq!
source /etc/profile
三、安裝zlib
cd /usr/local/src
mkdir /usr/local/zlib
tar zxf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure --prefix=/usr/local/zlib
make && make install
四、安裝Nginx
groupadd www
useradd -g www www -s /bin/false
cd /usr/local/src
tar zxf nginx-1.6.0.tar.gz
cd nginx-1.6.0
./configure --prefix=/usr/local/nginx --without-http_memcached_module --user=www --group=www --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-openssl=/usr/local/src/openssl-1.0.1h --with-zlib=/usr/local/src/zlib-1.2.8 --with-pcre=/usr/local/src/pcre-8.35
注意:--with-openssl=/usr/local/src/openssl-1.0.1h --with-zlib=/usr/local/src/zlib-1.2.8 --with-pcre=/usr/local/src/pcre-8.35指向的是源碼包解壓的路徑,而不是安裝的路徑,不然會報錯
make && make install
/usr/local/nginx/sbin/nginx #啓動Nginx
關閉nginx:killall nginx
在瀏覽器中打開服務器IP地址,會看到下面的界面,說明Nginx安裝成功。
附加:nginx 平滑啓動命令:
/usr/nginx/sbin/nginx -s reload
3、安裝php
一、安裝yasm
cd /usr/local/src
tar zxf yasm-1.2.0.tar.gz
cd yasm-1.2.0
./configure
make && make install
二、安裝libmcrypt
cd /usr/local/src
tar zxf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure
make && make install
三、安裝libvpx
cd /usr/local/src
tar xf libvpx-v1.3.0.tar.bz2
cd libvpx-v1.3.0
./configure --prefix=/usr/local/libvpx --enable-shared --enable-vp9
make && make install
四、安裝tiff
cd /usr/local/src
tar zxf tiff-4.0.3.tar.gz
cd tiff-4.0.3
./configure --prefix=/usr/local/tiff --enable-shared
make && make install
五、安裝libpng
cd /usr/local/src
tar zxf libpng-1.6.12.tar.gz
cd libpng-1.6.12
./configure --prefix=/usr/local/libpng --enable-shared
make && make install
六、安裝freetype
cd /usr/local/src
tar zxf freetype-2.5.3.tar.gz
cd freetype-2.5.3
./configure --prefix=/usr/local/freetype --enable-shared
make && make install #安裝
七、安裝jpeg
cd /usr/local/src
tar zxf jpegsrc.v9a.tar.gz
cd jpeg-9a
./configure --prefix=/usr/local/jpeg --enable-shared
make && make install #安裝
八、安裝libgd
cd /usr/local/src
tar zxf libgd-2.1.0.tar.gz #解壓
cd libgd-2.1.0 #進入目錄
./configure --prefix=/usr/local/libgd --enable-shared --with-jpeg=/usr/local/jpeg --with-png=/usr/local/libpng --with-freetype=/usr/local/freetype --with-fontconfig=/usr/local/freetype --with-xpm=/usr/ --with-tiff=/usr/local/tiff --with-vpx=/usr/local/libvpx #配置 #上述/usr/local/*路徑確保有,不然./configure不成功,make回報錯
make && make install #安裝
九、安裝t1lib
cd /usr/local/src
tar zxf t1lib-5.1.2.tar.gz
cd t1lib-5.1.2
./configure --prefix=/usr/local/t1lib --enable-shared
make without_doc
注意這步可能報錯: fatal error: X11/Xaw/Label.h: No such file or directory
解決辦法: 安裝 libXaw-devel
運行命令:yum install libXaw-devel
make install
十、安裝php
注意:若是系統是64位,請執行如下兩條命令,不然安裝php會出錯(32位系統不須要執行)
ln -s /usr/lib64/libltdl.so /usr/lib/libltdl.so
\cp -frp /usr/lib64/libXpm.so* /usr/lib/
cd /usr/local/src
tar -zxf php-5.6.9.tar.gz
cd php-5.6.9
export LD_LIBRARY_PATH=/usr/local/libgd/lib
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-mysql-sock=/tmp/mysql.sock --with-pdo-mysql=/usr/local/mysql --with-gd --with-png-dir=/usr/local/libpng --with-jpeg-dir=/usr/local/jpeg --with-freetype-dir=/usr/local/freetype --with-xpm-dir=/usr/ --with-vpx-dir=/usr/local/libvpx/ --with-zlib-dir=/usr/local/zlib --with-t1lib=/usr/local/t1lib --with-iconv --enable-libxml --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-opcache --enable-mbregex --enable-fpm --enable-mbstring --enable-ftp --enable-gd-native-ttf --with-openssl --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --enable-session --with-mcrypt --with-curl --enable-ctype #配置
make && make install #安裝
cp php.ini-production /usr/local/php/etc/php.ini #複製php配置文件到安裝目錄
rm -rf /etc/php.ini #刪除系統自帶配置文件
ln -s /usr/local/php/etc/php.ini /etc/php.ini #添加軟連接到 /etc目錄
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf #拷貝模板文件爲php-fpm配置文件
ln -s /usr/local/php/etc/php-fpm.conf /etc/php-fpm.conf #添加軟鏈接到 /etc目錄
vi /usr/local/php/etc/php-fpm.conf #編輯
user = www #設置php-fpm運行帳號爲www
group = www #設置php-fpm運行組爲www
pid = run/php-fpm.pid #取消前面的分號
:wq! #保存退出
設置 php-fpm開機啓動
cp /usr/local/src/php-5.6.9/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 #設置開機啓動
vi /usr/local/php/etc/php.ini #編輯配置文件
找到:disable_functions =
修改成: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
#列出PHP能夠禁用的函數,若是某些程序須要用到這個函數,能夠刪除,取消禁用。
找到:;date.timezone =
修改成:date.timezone = PRC #設置時區
:wq! #保存退出
配置nginx支持php
vi /usr/local/nginx/conf/nginx.conf
修改/usr/local/nginx/conf/nginx.conf 配置文件,需作以下修改
user www www; #首行user去掉註釋,修改Nginx運行組爲www www;必須與/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,或者使用絕對路徑
:wq! #保存退出
重啓nginx:先執行:killall nginx 再執行:/usr/loca/nginx/sbin/nginx
service php-fpm start #啓動php-fpm
測試篇
cd /usr/local/nginx/html/ #進入nginx默認網站根目錄
rm -rf /usr/local/nginx/html/* #刪除默認測試頁
vi index.php #新建index.php文件
<?php
phpinfo();
?>
:wq! #保存退出
chown www.www /usr/local/nginx/html/ -R #設置目錄全部者
chmod 700 /usr/local/nginx/html/ -R #設置目錄權限
在瀏覽器中打開服務器IP地址,會看到下面的界面
測試mysql數據庫鏈接
mysql -uroot -p123456
11.安裝redis以及php redis擴展
下載redis: http://pan.baidu.com/s/1dF3WvU5
cd /usr/local/src/
tar -zxf redis-2.8.17.tar.gz
cd redis-2.8.17/
make
mkdir -p /usr/local/redis
cd /usr/local/src/redis-2.8.17/src
cp redis-server redis-cli /usr/local/redis/
cd /usr/local/src/redis-2.8.17
cp redis.conf /usr/local/redis/
修改redis 配置文檔 讓redis以守護進程方式運行:
/usr/local/redis
vim redis.conf
把 daemonize no 改成下圖
wq!
啓動redis服務器:
/usr/local/redis/redis-server redis.conf
測試redis:
進入redis-cli:
/usr/local/redis/redis-cli
redis安裝成功!
12.安裝php redis擴展
下載phpredis 擴展包 上傳到linux並解壓:
cd /usr/local/src
tar zxf phpredis.tar.gz
進入phpredis源碼目錄執行php的bin目錄下的一個工具叫phpize:
cd phpredis/
/usr/local/php/bin/phpize
配置並編譯安裝phpredis:
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
安裝結束後會在:/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/目錄下生成redis.so文件
打開php.ini配置文件 加上以下便可:
重啓php-fpm便可
service php-fpm restart
到此php redis擴展安裝完畢!
若是報以下錯誤:MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled. Please check Redis logs for details about the error. 解決辦法: 127.0.0.1:6379> config set stop-writes-on-bgsave-error no OK
13.安裝swoole擴展庫
# 下載 cd /usr/local/src wget https://github.com/swoole/swoole-src/archive/swoole-1.7.6-stable.tar.gz # 解壓 編譯 安裝 tar zxvf swoole-1.7.6-stable.tar.gz cd swoole-1.7.6-stable.tar.gz /usr/local/php/bin/phpize ./configure --with-php-config=/usr/local/php/bin/php-config make && make install
配置php.ini文件,添加以下
extension=swoole.so
重啓php-fpm
service php-fpm restart
14.安裝phalcon擴展庫(特別注意,這個庫須要的服務器內存比較大,若是服務器內存比較小有可能編譯報內存溢出的錯誤)
# 下載 cd /usr/local/src git clone --depth=1 git://github.com/phalcon/cphalcon.git # 編譯 安裝 cd /usr/local/src/cphalcon/build/php5/64bits/ /usr/local/php/bin/phpize ./configure --with-php-config=/usr/local/php/bin/php-config make && make install
配置php.ini文件,添加以下
extension=phalcon.so
重啓php-fpm
service php-fpm restart