一. 安裝nginxphp
1.安裝nginx源html
yum localinstall http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
2.安裝nginxmysql
yum install nginx
3.啓動nginxnginx
systemctl start nginx
4.配置nginx開機自啓動正則表達式
systemctl enable nginx
5.輸入ip,看到nginx歡迎界面,安裝成功sql
ps:默認配置文件路徑 /etc/nginx/nginx.conf 默認log目錄:/var/log/nginx/ 默認靜態目錄:/usr/share/nginx/htmljson
二. 安裝mysqlvim
1.安裝mysql源centos
yum localinstall http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
2.安裝mysqlapi
yum install mysql-community-server
3.安裝mysql的開發包
yum install mysql-community-devel
4.啓動mysql
systemctl start mysqld
5.獲取mysql默認生成的密碼
grep 'temporary password' /var/log/mysqld.log
輸出結果爲:
2016-12-26T07:56:57.590740Z 1 [Note] A temporary password is generated for root@localhost: 密碼
6.登陸mysql換成本身的密碼
mysql -u root -p
7.切換密碼
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '新密碼';
8.重啓mysql服務
systemctl restart mysqld
三. 安裝php7
1.下載php7源碼包
wget http://cn2.php.net/distributions/php-7.1.0.tar.gz
2.解壓源碼包
tar zxvf php-7.1.0.tar.gz
3.安裝php依賴包
yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel
4.配置configure
./configure \ --prefix=/usr/local/php \ --with-config-file-path=/etc \ --enable-fpm \ --with-fpm-user=nginx \ --with-fpm-group=nginx \ --enable-inline-optimization \ --disable-debug \ --disable-rpath \ --enable-shared \ --enable-soap \ --with-libxml-dir \ --with-xmlrpc \ --with-openssl \ --with-mcrypt \ --with-mhash \ --with-pcre-regex \ --with-sqlite3 \ --with-zlib \ --enable-bcmath \ --with-iconv \ --with-bz2 \ --enable-calendar \ --with-curl \ --with-cdb \ --enable-dom \ --enable-exif \ --enable-fileinfo \ --enable-filter \ --with-pcre-dir \ --enable-ftp \ --with-gd \ --with-openssl-dir \ --with-jpeg-dir \ --with-png-dir \ --with-zlib-dir \ --with-freetype-dir \ --enable-gd-native-ttf \ --enable-gd-jis-conv \ --with-gettext \ --with-gmp \ --with-mhash \ --enable-json \ --enable-mbstring \ --enable-mbregex \ --enable-mbregex-backtrack \ --with-libmbfl \ --with-onig \ --enable-pdo \ --with-mysqli=mysqlnd \ --with-pdo-mysql=mysqlnd \ --with-zlib-dir \ --with-pdo-sqlite \ --with-readline \ --enable-session \ --enable-shmop \ --enable-simplexml \ --enable-sockets \ --enable-sysvmsg \ --enable-sysvsem \ --enable-sysvshm \ --enable-wddx \ --with-libxml-dir \ --with-xsl \ --enable-zip \ --enable-mysqlnd-compression-support \ --with-pear \ --enable-opcache
安裝遇到以下錯誤:
configure: error: in `/root/php-7.1.0': configure: error: no acceptable C compiler found in $PATH
緣由:
缺乏c的編譯器
解決:
安裝c編譯器
yum install gcc gcc++
而後從新執行上述configure,安裝成功
5.編譯與安裝
make && make install
6.添加 PHP 命令到環境變量
vim /etc/profile 在末尾加入 PATH=$PATH:/usr/local/php/bin; export PATH
7.使改動當即生效執行
source /etc/profile
輸入php -v
安裝成功
8.配置php-fpm
cp php.ini-production /etc/php.ini cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm chmod +x /etc/init.d/php-fpm
9.啓動php-fpm
/etc/init.d/php-fpm start
10. 加入服務,設置開機自動啓動
chmod a+x /etc/init.d/php-fpm #添加執行權限
chkconfig --add php-fpm #加入服務 chkconfig php-fpm on #開機自啓動
11.配置php記錄log信息
vim /etc/php.ini 修改如下參數 display_errors = Off #關閉錯誤提示 log_errors = On #開啓記錄日誌 error_log = /var/log/php/php_errors.log #日誌文件路徑 完成後保存
查看php.ini 文件
配置成功,故意亂輸,發現並無記錄到日誌,發現是由於權限問題,由於我用root運行的php,可是確用其餘用戶執行的
解決:
vim /usr/local/php/etc/php-fpm.conf 在末尾添加: user=執行用戶 group=執行用戶組 保存退出 /etc/init.d/php-fpm restart #重啓php-fpm 解決問題
四. 配置nginx
1.在conf.d中更新test.conf
server{ listen 80; server_name 域名或ip; root 項目路徑; location / { index index.php index.html index.htm; #若是請求既不是一個文件,也不是一個目錄,則執行一下重寫規則 if (!-e $request_filename) { #地址做爲將參數rewrite到index.php上。 rewrite ^/(.*)$ /index.php/$1; #如果子目錄則使用下面這句,將subdir改爲目錄名稱便可。 #rewrite ^/subdir/(.*)$ /subdir/index.php/$1; } } #proxy the php scripts to php-fpm location ~ \.php { include fastcgi_params; ##pathinfo支持start #定義變量 $path_info ,用於存放pathinfo信息 set $path_info ""; #定義變量 $real_script_name,用於存放真實地址 set $real_script_name $fastcgi_script_name; #若是地址與引號內的正則表達式匹配 if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") { #將文件地址賦值給變量 $real_script_name set $real_script_name $1; #將文件地址後的參數賦值給變量 $path_info set $path_info $2; } #配置fastcgi的一些參數 fastcgi_param SCRIPT_FILENAME $document_root$real_script_name; fastcgi_param SCRIPT_NAME $real_script_name; fastcgi_param PATH_INFO $path_info; ###pathinfo支持end fastcgi_intercept_errors on; fastcgi_pass 127.0.0.1:9000; } }
2. 重啓nginx
systemctl restart nginx
在項目目錄新建php文件,輸出phpinfo(); 訪問 test.域名.com php調用成功
五.安裝phpmyadmin
1.下載最新版到服務器,並解壓,修更名字爲phpmyadmin
2.輸入鏈接,登陸,發現沒法登錄,提示以下錯誤,socket出錯了
緣由:
沒有將mysql.sock的路徑在php.ini中配置
#查找mysql.sock位置 find / -name mysql.sock #獲得項目路徑,我這邊是 /var/lib/mysql/mysql.sock vim /etc/php.ini #打開php.ini,找到 mysqli.default_socket 修改 mysqli.default_socket = /var/lib/mysql/mysql.sock;#換成搜出來的目錄 #保存退出 /etc/inid.t/php-fpm restart #重啓服務
再次嘗試,登陸成功,問題解決
六.安裝wordpress
1.wget獲取到最新版本的wordpress,下載到服務器,並解壓
wget https://cn.wordpress.org/wordpress-4.7-zh_CN.tar.gz tar jxvf wordpress-4.7-zh_CN.tar.gz
2.按照提示一步一步安裝,很簡單
ps:安裝完畢後,安裝插件遇到了問題,提示要ftp權限
要執行請求的操做,WordPress須要訪問您網頁服務器的權限。 請輸入您的FTP登陸憑據以繼續。 若是您忘記了您的登陸憑據(如用戶名、密碼),請聯繫您的網站託管商。
解決:
修改wp-config.php文件,在末尾添加以下代碼 define("FS_METHOD", "direct"); define("FS_CHMOD_DIR", 0777); define("FS_CHMOD_FILE", 0777); 修改wordpress目錄下wp-content目錄權限 chmod -R 777 wp-content/