參考文章1:(原文有坑,我會講到)
https://yq.aliyun.com/article...
參考文章2:https://www.cnblogs.com/cyrfr...
阿里雲服務器版本:Windows Server 2016 數據中心版 64位中文版
下載軟件:PHP、Apache、Mysqlphp
下載地址:(這裏下載的是5.6版本,7.0高級版本須要下載VC14)html
這裏須要注意,要根據你的電腦系統版本選擇,還有VC11 x64 Non Thread Safe
和VC11 x64 Thread Safe
也有區別,若是是IIS系列,就選擇帶「Non Thread Safe」的版本,若是是Apache httpd系列,就選擇帶「Thread Safe」的版本(可參考 https://blog.csdn.net/lrcoop/...),這裏我選擇不帶no的64位版本,點擊ZIP下載壓縮包,下載後先放在桌面
下載地址:https://www.apachehaus.com/cg...mysql
一樣這裏也須要注意選擇版本,我選擇X64也就是64位,點擊那個小國旗,進入下載頁面,再點擊direct link
下載,先放在桌面
官網地址:https://dev.mysql.com
web
website
(意爲網站),在該目錄下新建php、Apache2四、mysql三個文件夾將 PHP 的根目錄下的php.ini-development
或者php.ini-production
複製一份並更名爲 php.ini,做爲PHP的配置文件,用記事本打開
注意:
一、ini文件的註釋是分號(英文分號),因此取消註釋就刪除分號,也就是修改的每條內容要刪掉前面的分號才生效;
二、${phphome}是PHP的根目錄,配置文件中寫成絕對路徑。
C:\website\php\ext
路徑要按照本身安裝路徑填寫; Directory in which the loadable extensions (modules) reside. ; http://php.net/extension-dir extension_dir = "C:\website\php\ext"
extension=php_bz2.dll extension=php_curl.dll extension=php_fileinfo.dll extension=php_gd2.dll extension=php_gettext.dll ;extension=php_gmp.dll ;extension=php_intl.dll ;extension=php_imap.dll ;extension=php_interbase.dll ;extension=php_ldap.dll extension=php_mbstring.dll extension=php_exif.dll ; Must be after mbstring as it depends on it extension=php_mysql.dll extension=php_mysqli.dll ;extension=php_oci8_12c.dll ; Use with Oracle Database 12c Instant Client extension=php_openssl.dll ;extension=php_pdo_firebird.dll extension=php_pdo_mysql.dll ;extension=php_pdo_oci.dll extension=php_pdo_odbc.dll extension=php_pdo_pgsql.dll extension=php_pdo_sqlite.dll extension=php_pgsql.dll ;extension=php_shmop.dll
[Date] ; Defines the default timezone used by the date functions ; http://php.net/date.timezone date.timezone = Asia/Shanghai
[openssl] ; The location of a Certificate Authority (CA) file on the local filesystem ; to use when verifying the identity of SSL/TLS peers. Most users should ; not specify a value for this directive as PHP will attempt to use the ; OS-managed cert stores in its absence. If specified, this value may still ; be overridden on a per-stream basis via the "cafile" SSL stream context ; option. openssl.cafile= cacert.pem
在apache24文件內按照此路徑C:\website\Apache24\conf
找到httpd.conf
文件,右鍵用記事本打開
Define SRVROOT "C:\website\Apache24" ServerRoot "${SRVROOT}"
${SRVRROOT}
就是咱們上一步設置的路徑DocumentRoot "${SRVROOT}/htdocs" <Directory "${SRVROOT}/htdocs">
#Listen 12.34.56.78:80 Listen 8081
ServerName localhost:8081
上面這兩步有個坑,就是我修改端口號以後,沒法經過域名訪問,搞了大半天,最後找到了緣由,是由於8081沒有在阿里雲控制檯的安全組入方向
中添加,添加之後就行了,須要注意的是,只有默認的80端口能夠省略,修改成8081後,每次必須加上域名,例如www.xxx.com:8081
localhost:8081
以後,會默認依次尋找index.html、index.php、index.htm,並打開<IfModule dir_module> DirectoryIndex index.html index.php index.htm </IfModule>
LoadModule php5_module
爲php文件夾中php5apache2_4.dll
的具體路徑,根據本身安裝路徑填寫 PHPIniDir
爲PHP安裝目錄,也是根據本身安裝路徑填寫sql
#php5.6 LoadModule php5_module C:/website/php/php5apache2_4.dll <IfModule php5_module> PHPIniDir "C:/website/php/" AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps </IfModule>
<IfModule php7_module> PHPIniDir "C:/website/php/" AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps </IfModule>
在apache的安裝目錄下的bin目錄內打開CMD命令窗口C:\website\Apache24\bin
,並輸入指令httpd -k install
回車
數據庫
若是安裝的PHP x64位版本,Apache也須要是x64位版本的。而後還要將php
目錄下的libeay32.dll
、ssleay32.dll
、libssh2.dll
以及ext
目錄下的php_curl.dll
等四個文件,都複製放到C:/Windows/System32
目錄下。不然curl擴展沒法使用。參考鏈: http://my.oschina.net/lsfop/b... 。未作驗證,只是照作,正常顯示。
方法1:
在apache的安裝目錄下的bin目錄內打開CMD命令窗口,輸入指令httpd -k start
,而後地址欄輸入www.XXX.com:8081
(若未修改端口號能夠不加:8081)或者localhost:8081
除了啓動命令還有其餘命令:
關閉Apache -k stop
重啓Apache httpd -k restart
卸載Apache httpd -k uninstall
查看Apache版本 httpd -V
命令幫助 httpd -h
apache
方法2:
找到apache目錄內bin目錄下的ApacheMonitor.exe
文件,雙擊便可啓動
啓動後,在電腦右下角能夠看到apache的程序圖標,點擊打開,而後選中Apache2.4
,點擊start
安全
參考文章:http://blog.51cto.com/lusieme...服務器
MySQL安裝文件分爲兩種,一種是msi格式的,一種是zip格式的。若是是msi格式的能夠直接點擊安裝,按照它給出的安裝提示進行安裝,zip格式是本身解壓,解壓縮以後其實MySQL就可使用了,可是要進行配置。這裏我以zipg格式爲例,進行配置
個人電腦->屬性->高級->環境變量
php7
參考文章:https://www.cnblogs.com/wangj...
在mysql文件夾中找到my-default.ini
,若是沒有本身創建一個my.ini
文件,在其中修改或添加配置:(具體路徑根據本身的安裝填寫)
[mysqld] basedir=C:\website\mysql datadir=C:\website\mysql\data
以管理員身份運行cmd
(必定要用管理員身份運行,否則權限不夠),
輸入:cd C:\website\mysql\bin
進入mysql
的bin
文件夾(無論有沒有配置過環境變量,也要進入bin
文件夾,不然以後啓動服務仍然會報錯誤2)
輸入mysqld -install
(若是不用管理員身份運行,將會由於權限不夠而出現錯誤:Install/Remove of the Service Denied!
)
繼續在cmd中輸入net start mysql
,服務啓動成功!
這一步若是啓動失敗,並且沒有任何報錯,請 查看mysql
目錄下是否有data
文件夾,若是沒有在bin
目錄下打開CMD窗口,執行命令mysqld --initialize
,再次啓動便可
繼續在CMD中輸入指令mysql -u root -p
能夠看到是讓我輸入密碼,我百度了一下,說是默認沒有密碼,直接回車就行,但是我直接按了回車,就報錯了,原來在安裝時,它生成了一個隨機密碼,可是這個密碼很差找,在data
目錄下的一個.err
結尾的文件內,我用記事本打開該文件,A temporary password is generated for root@localhost:
後面的就是隨機密碼
咱們先無論那個隨機密碼,咱們要重置密碼,可是咱們沒有密碼進不去,無法重置,因此先要跳過密碼驗證
方法1:打開剛纔新建的my.ini
,在最後一行添加skip-grant-tables
,而後保存,這句命令意思就是跳過密碼驗證
保存並退出mysql,在CMD繼續輸入net stop mysql
回車,關閉mysql,或者打開任務管理器,選擇服務,中止運行mysql
方法2:(經測試,該方法在mysql
8.X
版本沒法使用,請使用方法1)在bin目錄下打開CMD窗口,執行命令mysqld --skip-grant-tables
回車,不要關閉該窗口,直至密碼修改完畢
重啓mysql:
無論方法1仍是方法2都是從新在bin目錄下打開一個CMD窗口,如果方法2,切記不要關閉那個CMD窗口,輸入指令net start mysql
mysql>
時,命令結束必須加英文分號!!!!)登錄mysql,由於已經設置了跳過密碼驗證,因此輸入密碼時直接敲回車
(使用指令use mysql
進入數據庫設置,使用指令update user set password=password("你的新密碼") where user="root";
設置新密碼,輸入指令flush privileges
,刷新數據庫,輸入指令quit
退出,使用net stop mysql
關閉mysql)
注意:這裏有坑了,我按照上面的修改密碼指令執行後,發現沒有反應,原文下面有一行文字,說明修改爲功的,百度了很久,剛開始意爲少了後面那個分號,後來加上也不行,最後終於找到了一片文章,原來是8版本問題,使用的不是這個指令,是新指令 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
由於已經重置了密碼,若是是修改了my.ini
文件就能夠把my.ini
文件最後加的那句話刪掉了,而後啓動數據庫---》登錄---》輸入新密碼