天天看點

Linux CentOS 6編譯安裝Nginx、PHP、MySQL

又是給新機器搭建環境,編譯環境依賴、擴充太多了記不住,就需要找些文章,找來找去挺麻煩的,就自己做一個記載,就不用到處找了。

一:安裝Nginx

1、建立使用者和使用者組

groupadd nginx

useradd -g nginx -s /sbin/nologin nginx

2、安裝編譯環境

yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers gd gd2 gd-devel gd2-devel perl-CPAN pcre-devel libicu-devel libxslt-devel

3、下載下傳Nginx安裝包

http://nginx.org/en/download.html, 選擇 stable 版本下載下傳最新穩定版

4、解壓

tar zxvf nginx.****.tar.gz

cd nginx.****

5、配置編譯參數

./configure --prefix=/指定安裝目錄 --with-prce=/prce的安裝目錄

make && make install

6、啟動Nginx

/安裝目錄/sbin/nginx

Tips:啟動後測試連接配接是否成功,不成功的話,檢查下Nginx程序是否啟動了,再就是防火牆(開發測試機可以關閉防火牆

service iptables stop

)

二:安裝MySQL

1、下載下傳安裝包,解壓

wget http://mysql.mirror.kangaroot.net/Downloads/MySQL-5.6/mysql-5.6.26.tar.gz

tar -zxvf mysql-5.6.26.tar.gz

2、建立使用者及組

sudo groupadd mysql

sudo useradd -g mysql mysql -s /bin/false

建立安裝目錄和資料存放目錄,并修改權限

sudo mkdir -p /usr/local/mysql/data

sudo chown -R mysql:mysql /usr/local/mysql

cd mysql-5.6.26/

rm CMakeCache.txt

,存在這個檔案就删除

cmake編譯

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_DEBUG=0
           

make && make install

修改安裝完成後檔案的所有者群組

sudo chown -R mysql:mysql /usr/local/mysql

cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf

sudo vim /etc/my.cnf

basedir = /usr/local/mysql/
datadir = /usr/local/mysql/data
socket = /tmp/mysql.sock
           

将啟動和cli腳本軟連接配接到系統變量

ln -s /usr/local/mysql/bin/mysql /usr/bin
ln -s /usr/local/mysql/bin/mysqladmin /usr/bin
ln -s /usr/local/mysql/support-files/mysql.server /usr/bin
           

初始化資料庫,建立基本資料庫

sudo /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --no-defaults
           

啟動服務

mysql.server start

./mysqld_safe --user=mysql &

開機啟動

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql.server

為root使用者建立密碼

/usr/local/mysql/bin/mysqladmin -u root password '123'

檢視啟動程序

netstat -lntup | grep 3306

登入MySQL伺服器

mysql -uroot -p

三:安裝PHP

1、建立使用者和使用者組

useradd -r -s /sbin/nologin php-fpm

2、安裝編譯環境

上面在安裝Nginx的時候已經都安裝了

3、下載下傳并解壓

wget http://php.net/get/php-7.2.2.tar.gz/from/this/mirror

mv mirror php-7.2.2.tar.gz

tar zxvf php-7.2.2.tar.gz

cd php-7.2.2

Tips:這裡你要安裝哪個版本就選擇相應版本下載下傳,我這裡下載下傳的是7.2

4、配置編譯參數

./configure --prefix=/usr/local/php-7.2 --with-mhash --with-openssl --with-config-file-path=/usr/local/php-7.2/etc --disable-short-tags --enable-fpm --with-fpm-user=php-fpm --with-fpm-group=php-fpm --enable-xml --with-libxml-dir --enable-bcmath --enable-calendar --enable-intl --enable-mbstring --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-zip --enable-mbregex --enable-mysqlnd --enable-mysqlnd-compression-support --with-mysqli=mysqlnd --with-mysql=mysql --with-pdo-mysql=mysqlnd --with-gd --enable-ftp --with-curl --with-xsl --with-iconv --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --enable-sysvsem --enable-inline-optimization --with-xmlrpc --with-gettext

Tips:

1.編譯參數各項代表什麼需要自己去查一下,prefix是安裝目錄,with-config-file是配置檔案目錄,可以根據自己的需要放置自定義目錄;我這裡安裝的擴充比較多,大家可以根據自己需要選擇擴充。

2.PHP編譯安裝時常見錯誤解決辦法,php編譯常見錯誤

make && make install

接下來耐心等待就好了,編譯和安裝時間有點長,如果沒有報錯就可以進入下一步了。

5、備份配置檔案

cd /usr/local/php**

cp ./etc/php-fpm.conf.default ./etc/php-fpm.conf

cp ./php.ini-development /etc/php.ini

設定軟連結

ln -s /usr/local/php-7.2.2/ /usr/local/php

ln -s /usr/local/php/bin/php /usr/local/bin

ln -s /usr/local/php/sbin/php-fpm /usr/local/sbin

配置環境變量,加入全局指令

vim /etc/profile

PATH=$PATH:/usr/local/php/bin

export PATH

source /etc/profile

進入PHP安裝目錄etc/php-fpm.d

cp www.conf.default www.conf

6、啟動PHP-FPM

./sbin/php-fpm

檢視是否啟動

netstat -lnt | grep 9000

殺到程序

killall php-fpm

7、整合PHP和Nginx的通信

vim /usr/local/nginx/conf/nginx.conf

location ~ \.php$ {
    root           html;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $DOCUMENT_ROOT$fastcgi_script_name;
    fastcgi_pass   127.0.0.1:9000;
    include        fastcgi_params;
}
           

把conf檔案的CGI監聽子產品的注釋取消了,fast_pass選項既可以用TCP模式通信,也可以用Unix套接字通信。然後重載Nginx配置就可以了,

/usr/local/nginx/sbin/nginx -s reload

Tips:以上我均在root權限下操作,若提示無權限可自行指令前加上sudo。