1. 程式人生 > >Linux CentOS 6編譯安裝Nginx、PHP、MySQL

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

3、下載Nginx安裝包

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)

二:安裝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.2 \ --with-mhash \ --with-openssl \ --with-config-file-path=/usr/local/php-7.2.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-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:編譯引數各項代表什麼需要自己去查一下,prefix是安裝目錄,with-config-file是配置檔案目錄,可以根據自己的需要放置自定義目錄;我這裡安裝的擴充套件比較多,大家可以根據自己需要選擇擴充套件。

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

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

三:安裝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/mysqlsupport-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

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