LNMP搭建
準備工作:
關閉防火牆
service iptables stop
關閉selinux
setenforce 0
安裝約定
軟件源代碼包存放位置:/lnmp/src 源碼包編譯安裝位置:/usr/local/軟件名
安裝編譯工具及依賴庫文件
yum install -y apr* autoconf automake gcc gcc-c++ cmake gtk+-devel libcurl-devel zlib-devel openssl openssl-devel pcre pcre-devel gd kernel keyutils patch perl kernel-headers compat* cpp glibc libgomp libstdc++-devel keyutils-libs-devel libsepol-devel libselinux-devel krb5-devel libXpm* freetype-devel fontconfig fontconfig-devel libjpeg* libpng* php-gd gettext gettext-devel ncurses* libtool* libxml2 libxml2-devel patch policycoreutils bison
軟件安裝:
安裝 libmcrypt,php中的加密擴展庫
cd /lnmp/src tar -zxvf libmcrypt-2.5.8.tar.gz cd /lnmp/src/libmcrypt-2.5.8 ./configure #配置 make && make install #編譯和安裝
安裝 nginx
useradd www -s /sbin/nologin #創建nginx運行賬戶www,不允許直接登錄系統 cd /lnmp/src/ tar -zxvf nginx-1.13.2.tar.gz cd nginx-1.13.2 ./configure --prefix=/usr/local/nginx --user=www --group=www --without-http_memcached_module --with-http_stub_status_module --with-http_ssl_module make && make install #編譯安裝 設置nginx開啓啓動 cp /lnmp/src/nginx /etc/init.d/ #拷貝啓動文件 chmod 755 /etc/init.d/nginx #賦予文件執行權限 chkconfig nginx on #設置開機啓動 service nginx start #啓動nginx 測試:在瀏覽器中輸入IP地址,看到 Welcome to nginx! 代表啓動成功 說明:默認站點的文檔根目錄:/usr/local/nginx/html/
安裝 Mysql
useradd mysql -s /sbin/nologin #創建用戶mysql,不允許直接登錄系統 mkdir -p /var/mysql/data #創建MySQL數據庫存放目錄 chown -R mysql:mysql /var/mysql/data #設置MySQL數據庫目錄權限 cd /lnmp/src tar zxvf mysql-5.5.28.tar.gz cd mysql-5.5.28 cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_MEMORY_STORAGE_ENGINE=1 \ -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 \ -DMYSQL_DATADIR=/var/mysql/data \ -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306 make && make install #編譯安裝 cd /usr/local/mysql cp ./support-files/my-huge.cnf /etc/my.cnf #拷貝配置文件 vi /etc/my.cnf #編輯配置文件,在 [mysqld] 部分增加 datadir = /var/mysql/data #添加MySQL數據庫路徑 ./scripts/mysql_install_db --user=mysql #生成mysql系統數據庫 cp ./support-files/mysql.server /etc/init.d/mysqld #把Mysql加入系統啓動 vi /etc/init.d/mysqld #編輯 basedir=/usr/local/mysql #MySQL程序安裝路徑 datadir=/var/mysql/data #MySQl數據庫存放目錄 chmod 755 /etc/init.d/mysqld #增加執行權限 chkconfig mysqld on #加入開機啓動 chown -R mysql /usr/local/mysql #修改/usr/local/mysql所屬用戶爲mysql service mysqld start #啓動mysqld vi /etc/profile #把mysql服務加入系統環境變量:在最後添加 export PATH=$PATH:/usr/local/mysql/bin source /etc/profile #使配置立即生效 mysql_secure_installation #設置Mysql密碼,根據提示按Y 回車輸入2次密碼 功能同上:mysqladmin -u root -p "123456" #直接修改密碼
安裝 php
cd /lnmp/src tar -zxvf php-7.1.6.tar.gz cd php-7.1.6 ./configure --prefix=/usr/local/php7 --with-config-file-path=/usr/local/php7/etc --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mysqlnd --with-mysql-sock=/usr/local/mysql/mysql.sock --with-gd --with-iconv --with-zlib --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --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 --with-jpeg-dir --with-freetype-dir --with-pdo-mysql=/usr/local/mysql/ make && make install #編譯安裝 cp php.ini-production **/usr/local/php7/etc/php.ini** #複製php配置文件到安裝目錄 rm -f /etc/php.ini #刪除系統自帶配置文件 ln -s /usr/local/php7/etc/php.ini /etc/php.ini #添加軟鏈接 cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf #拷貝模板配置文件爲php-fpm配置文件 修改:/usr/local/php7/etc/php-fpm.conf pid = run/php-fpm.pid #取消前面的分號 cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf 修改:/usr/local/php7/etc/php-fpm.d/www.conf user = www #設置php-fpm運行賬號爲www group = www #設置php-fpm運行組爲www 設置 php-fpm開機啓動 cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm #拷貝php-fpm到啓動目錄 chmod 755 /etc/init.d/php-fpm #修改權限 chkconfig php-fpm on #設置開機啓動 service php-fpm start #啓動php-fpm
配置nginx支持php
修改配置文件:/usr/local/nginx/conf/nginx.conf 1、去掉location ~ \.php$ {}等幾行前面的# 2、將:fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; 改爲:fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 重啓nginx服務:service nginx restart 重新加載配置文件:service nginx reload #可以做到不間斷服務的更新配置
測試php
在 /usr/local/nginx/html 目錄下創建 index.php 輸入內容: <?php phpinfo(); 在瀏覽器中輸入:ip/index.php進行測試