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