rpm -qa|grep httpd rpm -e httpd httpd-tools rpm -qa|grep mysql rpm -e mysql mysql-libs rpm -qa|grep php rpm -e php-mysql php-cli php-gd php-common php yum -y remove httpd* yum -y remove mysql-server mysql mysql-libs yum -y remove php*
添加用戶和用戶組 www 和 mysql,而且禁止登陸。php
www用戶主要是用來賦予nginx和php執行權限,mysql主要是賦予給mysql權限,禁止登陸是爲了防止用戶有權限去操做www和mysql,一切爲了安全!html
1 groupadd www 2 useradd -s /sbin/nologin -g www www 3 groupadd mysql 4 useradd -s /sbin/nologin -g mysql mysql
yum -y install gcc gcc-c++ libxml2 libxml2-devel pcre pcre-devel openssl openssl-devel curl curl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libicu libicu-devel cmake ncurses ncurses-devel
我通常都會將安裝包放到/usr/local/src目錄中,因此先執行下面的命令 mysql
cd /usr/local/src
首先安裝libmcrypt包 若是下面的下載地址很差用,請訪問這個網址進行下載:https://sourceforge.net/projects/mcrypt/...nginx
cd /usr/local/src wget -c http://soft.vpser.net/web/libmcrypt/libmcrypt-2.5.8.tar.gz tar zxvf libmcrypt-2.5.8.tar.gz cd libmcrypt-2.5.8 ./configure make && make install /sbin/ldconfig cd libltdl/ ./configure --enable-ltdl-install make && make install ln -sf /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.la ln -sf /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.so ln -sf /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4 ln -sf /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8 ldconfig
我安裝使用的是 nginx-1.9.12c++
cd /usr/local/src wget -c http://nginx.org/download/nginx-1.9.12.tar.gz tar zxvf nginx-1.9.12.tar.gz cd nginx-1.9.12 #nginx1.9.5以前的 #./configure --prefix=/usr/local/nginx --user=www --group=www --without-mail_pop3_module --without-mail_imap_module --without-mail_smtp_module --with-http_ssl_module --with-pcre --with-http_stub_status_module --with-http_spdy_module --with-http_gzip_static_module --with-ipv6 --with-http_sub_module #nginx1.9.5以後的(包含1.9.5) #./configure --prefix=/usr/local/nginx --user=www --group=www --without-mail_pop3_module --without-mail_imap_module --without-mail_smtp_module --with-http_ssl_module --with-pcre --with-http_stub_status_module --with-http_v2_module --with-http_gzip_static_module --with-ipv6 --with-http_sub_module make && make install
./configure 參數解釋:web
--prefix=/usr/local/nginx #nginx的安裝路徑 --user=www #設置nginx工做進程的用戶 --group=www #設置nginx工做進程的用戶組 --without-mail_pop3_module #禁用nginx處理/代理POP3協議 --without-mail_imap_module #禁用nginx處理/代理IMAP協議 --without-mail_smtp_module #禁用nginx處理/代理SMTP協議 --with-http_ssl_module #使用https協議 --with-pcre #啓用pcre庫,支持重寫 --with-http_stub_status_module #提供查看服務器統計信息的能力 --with-http_v2_module #提供HTTP/2服務。從nginx1.9.5開始,http_v2_module 已經替換了http_spdy_module。因此安裝以前的版本將該參數替換爲--with-http_spdy_module(啓動SPDY支持,SPDY能夠縮短網頁的加載時間,可是必須使用ssl傳輸協議) --with-http_gzip_static_module #啓用預壓縮(gzip)的支持 --with-ipv6 #支持ipv6訪問 --with-http_sub_module #啓用過濾器支持
啓動nginx的命令:sql
/usr/local/nginx/sbin/nginx
cd /usr/local/src wget -c http://cn2.php.net/distributions/php-7.0.4.tar.gz tar zxvf php-7.0.4.tar.gz cd php-7.0.4 ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --with-fpm-user=www --with-fpm-group=www --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir --with-freetype-dir=/usr/local/freetype --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-mbstring --enable-intl --enable-pcntl --with-mcrypt --enable-ftp --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --with-gettext --enable-fileinfo --enable-opcache --enable-session --with-fpm-user=www --with-fpm-group=www --without-pear --enable-exif --enable-json --enable-pdo make && make install
這樣php就安裝完成了。而後接下來建立軟鏈接:數據庫
ln -sf /usr/local/php/bin/php /usr/local/bin/php
生成php.ini配置文件,這裏有兩個php.ini,適合開發場景和生產場景,能夠根據須要選擇不一樣的配置文件,通常選擇前者json
cp php.ini-development /usr/local/php/etc/php.ini #開發版本 cp php.ini-production /usr/local/php/etc/php.ini #生產版本
這時候php就已經安裝完成了。接下來就是啓用php-fpm服務了。vim
首先生成配置文件
mv /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf mv /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
啓動php-fpm的準備工做
cp /usr/local/src/php-7.0.4/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm chmod +x /etc/init.d/php-fpm chkconfig php-fpm on
這個時候,使用以下命令就能夠啓動php-fpm了
service php-fpm start
啓動起來以後,編輯nginx配置文件,實現nginx的代理訪問,找到以下代碼:
vim /usr/local/nginx/conf/nginx.conf #location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /script$fastcgi_script_name;
# include fastcgi_params;
#}
把前面的#註釋符號去掉,把script改爲$document_root,第二行 html 改爲你的項目路徑,這裏我設置的/home/www/default 最終代碼以下:
location ~ \.php$ { root /home/www/default; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /$document_root$fastcgi_script_name; include fastcgi_params; }
修改完成以後,先執行nginx配置檢測命令,若是沒有錯誤就執行從新加載配置文件的命令:
/usr/local/nginx/sbin/nginx -t #配置檢測命令
/usr/local/nginx/sbin/nginx -s reload #動態加載配置命令
咱們去/home/www/default目錄下建立一個php文件。瀏覽一下是否正常:
<?php phpinfo(); ?>
若是能正確的顯示php的當前信息,就說明咱們工做已經完成了一大半了。
mysql5.7.5以後版本都要安裝boost包。因此我選擇是下載已經自帶boost安裝包的mysql安裝包:
cd /usr/local/src wget -c http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.11.tar.gz tar zxvf mysql-boost-5.7.11.tar.gz cd mysql-5.7.11/ cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_general_ci -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DMYSQL_TCP_PORT=3306 -DWITH_BOOST=boost -DENABLE_DOWNLOADS=1 make && make install chown -R mysql:mysql /usr/local/mysql #對mysql目錄進行賦予權限
mysql configure 安裝參數解釋:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql #指定安裝路徑 -DDEFAULT_CHARSET=utf8mb4 #默認使用utf8mb4字符 -DDEFAULT_COLLATION=utf8mb4_general_ci #校驗字符 -DWITH_INNOBASE_STORAGE_ENGINE=1 #安裝innodb引擎 -DWITH_ARCHIVE_STORAGE_ENGINE=1 #安裝archive存儲引擎 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 #安裝blackhole存儲引擎 -DMYSQL_TCP_PORT=3306 #指定端口 -DWITH_BOOST=boost #指定boost的安裝位置 -DENABLE_DOWNLOADS #是否要下載可選的文件。例如,啓用此選項(設置爲1),cmake將下載谷歌所使用的測試套件運行單元測試。
生成mysql配置文件
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
對數據庫進行初始化,這個時候初始化的時候,屏幕上會出現初始化的密碼,記下來,若是錯過了,能夠經過查看 /root/.mysql_secret
來查看以前的初始化密碼:
/usr/local/mysql/bin/mysqld --initialize --user=mysql
複製文件mysql.server 能夠使用service 命令進行控制
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql service mysql start #啓動mysql
登陸數據庫修改密碼
/usr/local/mysql/bin/mysql -u root -p
輸入密碼回車。登陸成功後,輸入如下字符,來修改密碼,好比個人密碼是12345:
set password = password('root');
寫一個php程序,來測試mysql是否可否正常連上MySQL:
<?php
$pdo = new PDO("mysql:host=127.0.0.1;dbname=sys;port=3306", 'root', 'root', array(PDO::MYSQL_ATTR_INIT_COMMAND => 'set names utf8mb4', PDO::ATTR_TIMEOUT => 1)); var_dump($pdo); ?>