centos7源碼塔建lnmp+redis環境

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
相關文章
相關標籤/搜索