CentOS 6 編譯安裝 LNMP環境
清理已經安裝包
rpm -e httpd
rpm -e mysql
rpm -e php
yum -y remove httpd
yum -y remove mysql
yum -y remove php
#檢查apache是否解除安裝乾淨
rpm -qa|grep http*
#檢查mysql是否解除安裝乾淨 rpm -qa|grep mysql 強制解除安裝 rpm -e mysql-libs-XXX --nodeps #檢查apache是否解除安裝乾淨 rpm -qa|grep php 解除安裝順序是: #rpm -e php-mysql-XXX #rpm -e php-pdo-XXX #rpm -e php-xml-XXX #rpm -e php-cli-XXX #rpm -e php-gd-XXX #rpm -e php-common-XXX selinux可能會致使編譯安裝失敗,我們先禁用它。 永久禁用,需要重啟生效 sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config 臨時禁用,不需要重啟 setenforce 0
#安裝依賴包: yum -y install make gcc gcc-c++ gcc-g77 flex bison file libtool libtool-libs autoconf kernel-devel libjpeg libjpeg-devel libpng libpng-devel libpng10 libpng10-devel gd gd-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glib2 glib2-devel bzip2 bzip2-devel libevent libevent-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel gettext gettext-devel ncurses-devel gmp-devel pspell-devel unzip libcap lsof
安裝mysql5.7.21(非編譯)
1、把mysql傳到伺服器並解壓到/usr/local
tar -xzvf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz -C /usr/local
2、進入/usr/local目錄
cd /usr/local
3、為mysql安裝目錄建立軟連結
ln -s mysql-5.7.21-linux-glibc2.12-x86_64 mysql
4、為centos新增mysql使用者組和mysql使用者
#-s /bin/false引數指定mysql使用者僅擁有所有權,而沒有登入許可權 groupadd mysql useradd -r -g mysql -s /bin/false mysql
5、進入安裝mysql軟體的目錄,命令如下:
cd /usr/local/mysql
6、修改/usr/local/mysql許可權,命令如下:
chmod +w /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql
7.安裝mysql(在目錄/usr/local/mysql下),命令如下:
bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize
#提示缺少libnuma.so.1這個檔案,可能是因為系統是64位的,系統沒有64位的這個so庫
wget -o /usr/local/src http://mirror.centos.org/centos/6/os/x86_64/Packages/numactl-2.0.9-2.el6.x86_64.rpm
下載後安裝命令如下
rpm -ivh /usr/local/src/numactl-2.0.9-2.el6.x86_64.rpm
#再次執行安裝mysql命令
bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize #即可安裝成功
#安裝成功後,記住隨機密碼
8、開啟mysql服務,命令如下:
./support-files/mysql.server start #出現 success 啟動成功
9、進入support-files目錄,如果有my.cnf或者my-default.cnf 複製到etc目錄下並更名為my.cnf
cd support-files/
#如果有my.cnf請備份
mv /etc/my.cnf /etc/my.cnf.bak
#複製配置檔案到etc下
cp my-default.cnf /etc/my.cnf
10、將mysql程序放入系統程序中,命令如下:
cp support-files/mysql.server /etc/init.d/mysqld
#賦予執行許可權
chmod +x /etc/init.d/mysqld
11、設定開機啟動並啟動mysql
#開機啟動
chkconfig mysqld on啟動MySQL
service mysqld start 或者 /etc/init.d/mysqld start
12、把mysql的命令設定為環境變數
vi /etc/profile #在檔案末尾新增下面2句
PATH=/usr/local/mysql/bin:$PATH
export PATH
#讓配置立即生效
source /etc/profile
13、登入mysql測試
mysql -u root -p
安裝php-7.1.14
1、安裝依賴關係
libiconv庫為需要做轉換的應用提供了iconv()函式,實現2種字元編碼間的轉換
cd /usr/local/src
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
tar zxvf libiconv-1.14.tar.gz
cd libiconv-1.14
./configure --prefix=/usr/local/libiconv
make && make install
libmcrypt是加密演算法擴充套件庫。
cd /usr/local/src
wget http://iweb.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
tar zxvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure
make && make install
Mhash是基於離散數學原理的不可逆向的php加密方式擴充套件庫,其在預設情況下不開啟
cd /usr/local/src
wget https://nchc.dl.sourceforge.net/project/mhash/mhash/0.9.9.9/mhash-0.9.9.9.tar.gz
tar zxvf mhash-0.9.9.9.tar.gz
cd mhash-0.9.9.9
./configure
make && make install
mcrypt 是 php 裡面重要的加密支援擴充套件庫,Mcrypt擴充套件庫可以實現加密解密功能,就是既能將明文加密,也可以密文還原。
cd /usr/local/src
wget http://iweb.dl.sourceforge.net/project/mcrypt/MCrypt/2.6.8/mcrypt-2.6.8.tar.gz
tar zxvf mcrypt-2.6.8.tar.gz
cd mcrypt-2.6.8
./configure
make && make install
編譯mcrypt可能會報錯:configure: error: *** libmcrypt was not found
vi /etc/ld.so.conf #最後一行新增
/usr/local/lib/
#儲存退出
ldconfig #載入
開始編譯php
cd /usr/local/src
wget http://cn2.php.net/distributions/php-7.1.14.tar.gz
tar zxvf php-7.1.14.tar.gz
cd php-7.1.14
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc
--enable-fpm --with-fpm-user=www --with-fpm-group=www --with-mysql=mysqlnd
--with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv=/usr/local/libconv-1.14
--with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr
--enable-xml --disable-rpath --enable-magic-quotes --enable-safe-mode --enable-bcmath
--enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl
--with-curlwrappers --enable-mbregex --enable-mbstring --with-mcrypt --enable-ftp
--with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl
--enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear
--with-gettext --disable-fileinfo --enable-maintainer-zts
make && make install
--prefix=/usr/local/php : 表示將php安裝到/usr/local/php目錄
--with-config-file-path=/usr/local/php/etc : 表示將php配置檔案存放在/usr/local/php/etc
-with-pdo-mysql : 需要安裝mysql原生模組
--with-mysqli : 需要安裝mysql 增強模組
--enable-fpm : 需要安裝fpm模組,這個很重要,需要它才能打通nginx
如果出現 resinstall iconv
cd /usr/local/src/php-7.1.14
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm
--with-fpm-user=www --with-fpm-group=www --with-mysql=mysqlnd --with-mysqli=mysqlnd
--with-pdo-mysql=mysqlnd --with-iconv-dir --with-freetype-dir --with-jpeg-dir
--with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath
--enable-magic-quotes --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem
--enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex
--enable-mbstring --with-mcrypt --enable-ftp --with-gd --enable-gd-native-ttf
--with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc
--enable-zip --enable-soap --without-pear --with-gettext --disable-fileinfo
--enable-maintainer-zts
make && make install
沒錯誤就安裝成功了。
#修改fpm配置php-fpm.conf.default檔名稱
mv /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
#複製php.ini配置檔案
cp /usr/local/php/etc/php.ini-production /usr/local/php/etc/php.ini
#複製www.conf配置檔案
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
#複製php-fpm啟動指令碼到init.d
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
#賦予執行許可權
chmod +x /etc/init.d/php-fpm
#新增為啟動項
chkconfig --add php-fpm
#設定開機啟動
chkconfig php-fpm on
#給php-fpm建立一個指定的使用者和組
#建立群組
groupadd www
#建立一個使用者,不允許登陸和不創主目錄
useradd -s /sbin/nologin -g www -M www
將7.1版本的php新增到環境變數(如果不新增,預設是5.3版本)
#修改/etc/profile檔案
vi /etc/profile
#在檔案末尾的 PATH=/usr/local/mysql/bin:$PATH 後面再加PHP的命令目錄
PATH=/usr/local/mysql/bin:$PATH:/usr/local/php/bin
#讓配置生效
source /etc/profile
#立即啟動php-fpm
service php-fpm start 或者 /etc/init.d/php-fpm start
php安裝完成。
nginx安裝
1、安裝pcre,zlib
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
2、建立網站根目錄
mkdir -p /var/www/root/
chmod -R 775 /var/www/root/
3、下載nginx編譯安裝
cd /usr/local/src
wget http://nginx.org/download/nginx-1.12.2.tar.gz
tar zxvf nginx-1.12.2.tar.gz
cd nginx-1.12.2
./configure \--user=www \--group=www \--prefix=/usr/local/nginx \--with-http_v2_module \--with-http_ssl_module \--with-http_sub_module \--with-http_stub_status_module \--with-http_gzip_static_module \--with-pcre \--with-threads
make && make install
#驗證
/usr/local/nginx/sbin/nginx -V
4、配置nginx開啟php支援
#在server段中開啟php支援
cd /usr/local/nginx
vi conf/nginx.conf
以 location / { 開頭的改為如下所示
location / {
root /var/www/root;
index index.html index.htm;
}
以 location ~ \.php$ 開頭的改成如下所示
location ~ \.php$ { root /var/www/root; #自定義網站根目錄 autoindex_exact_size off; #檔案大小從KB開始顯示 autoindex_localtime on; #顯示檔案修改時間為伺服器本地時間 fastcgi_pass 127.0.0.1:9000; #需要開啟 fastcgi_index index.php; #需要開啟 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; #需要開啟 }
修改完,重啟nignx /usr/local/nginx/sbin/nginx -s reload
測試是否搭建成功:先放個文件index.html到網站目錄/var/www/root
再用命令 curl http://127.0.0.1/index.html 檢視文件內容是否可以顯示出來,正確顯示則安裝成功。
相關命令:
啟動nginx /usr/local/nginx/sbin/nginx
停止nginx /usr/local/nginx/sbin/nginx -s stop
重啟nginx /usr/local/nginx/sbin/nginx -s reload
關閉ngixn
pkill -9 nginx
引數解釋
-s stop 快速停止nginx
-s quit 平滑停止nginx
-s reopen 重新開啟日誌檔案
-s reload 平滑過載所有配置
5、開啟80埠
vi /etc/sysconfig/iptables
將22埠的規則複製一行,把22改為80 ,儲存退出.
重啟防火牆 /etc/init.d/iptables restart。開放80埠後,其他機器就可以訪問該網站了。
到此基本完成這個流程。
參考:https://www.cnblogs.com/syouth/p/6853261.html
參考:http://blog.csdn.net/xcg132566/article/details/79161756