阿里雲服務器搭建PHP環境

參考文章1:(原文有坑,我會講到)
https://yq.aliyun.com/article...
參考文章2:https://www.cnblogs.com/cyrfr...
阿里雲服務器版本:Windows Server 2016 數據中心版 64位中文版
下載軟件:PHP、Apache、Mysqlphp

一、下載PHP

下載地址:(這裏下載的是5.6版本,7.0高級版本須要下載VC14)html

這裏須要注意,要根據你的電腦系統版本選擇,還有 VC11 x64 Non Thread SafeVC11 x64 Thread Safe也有區別,若是是IIS系列,就選擇帶「Non Thread Safe」的版本,若是是Apache httpd系列,就選擇帶「Thread Safe」的版本(可參考 https://blog.csdn.net/lrcoop/...),這裏我選擇不帶no的64位版本,點擊ZIP下載壓縮包,下載後先放在桌面
image.png
image.png

image.png

二、下載Apache

下載地址:https://www.apachehaus.com/cg...mysql

一樣這裏也須要注意選擇版本,我選擇X64也就是64位,點擊那個小國旗,進入下載頁面,再點擊 direct link下載,先放在桌面
image.png
image.png

三、下載Mysql

官網地址:https://dev.mysql.com
image.png
image.png
image.png
image.png
image.pngweb

四、在C盤新建一個空目錄website(意爲網站),在該目錄下新建php、Apache2四、mysql三個文件夾

image.png
image.png

五、將下載的PHP、Apache、Mysql壓縮包解壓到各自對應的文件夾內

image.png
image.png
image.png

六、配置PHP

將 PHP 的根目錄下的 php.ini-development 或者 php.ini-production複製一份並更名爲 php.ini,做爲PHP的配置文件,用記事本打開
注意:
一、ini文件的註釋是分號(英文分號),因此取消註釋就刪除分號,也就是修改的每條內容要刪掉前面的分號才生效;
二、${phphome}是PHP的根目錄,配置文件中寫成絕對路徑。

6.1修改拓展文件路徑(注意刪掉前面的分號),此處C:\website\php\ext路徑要按照本身安裝路徑填寫

; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
 extension_dir = "C:\website\php\ext"

6.2添加須要加載的擴展文件,其實就是去掉前面的分號便可(根據須要添加)

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

6.3設置默認的時區

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Asia/Shanghai

6.4設置 ssl(安全證書) :

[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

七、配置Apache,讓PHP 和 Apache 協同工做

在apache24文件內按照此路徑 C:\website\Apache24\conf找到 httpd.conf文件,右鍵用記事本打開
image.png

7.1修改apache的安裝路徑,這裏要根據本身安裝的位置填寫

Define SRVROOT "C:\website\Apache24"
ServerRoot "${SRVROOT}"

7.2修改項目存放路徑,這裏咱們沒有修改,就使用默認的,${SRVRROOT}就是咱們上一步設置的路徑

DocumentRoot "${SRVROOT}/htdocs"
<Directory "${SRVROOT}/htdocs">

7.3修改默認端口號(也能夠不修改),我這裏將80改成了8081

#Listen 12.34.56.78:80
Listen 8081

7.4修改ServerName

ServerName localhost:8081
上面這兩步有個坑,就是我修改端口號以後,沒法經過域名訪問,搞了大半天,最後找到了緣由,是由於8081沒有在阿里雲控制檯的安全組 入方向中添加,添加之後就行了,須要注意的是,只有默認的80端口能夠省略,修改成8081後,每次必須加上域名,例如 www.xxx.com:8081
image.png
image.png
image.png
image.png

7.5修改默認索引文件,三個,就是當咱們輸入網址或localhost:8081以後,會默認依次尋找index.html、index.php、index.htm,並打開

<IfModule dir_module>
    DirectoryIndex index.html index.php index.htm
</IfModule>

7.6讓Apache加載PHP模塊,將如下代碼添加在最後面,PHP版本若是是5添加第一段,7添加第二段

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>

7.7將apache註冊爲win的服務或(安裝Apache的主服務,有了它,Apache纔可啓動)

在apache的安裝目錄下的bin目錄內打開CMD命令窗口C:\website\Apache24\bin,並輸入指令httpd -k install回車
image.png數據庫

若是安裝的PHP x64位版本,Apache也須要是x64位版本的。而後還要將 php目錄下的 libeay32.dllssleay32.dlllibssh2.dll以及 ext目錄下的 php_curl.dll等四個文件,都複製放到 C:/Windows/System32目錄下。不然curl擴展沒法使用。參考鏈: http://my.oschina.net/lsfop/b... 。未作驗證,只是照作,正常顯示。

7.8啓動Apache服務器

方法1:
在apache的安裝目錄下的bin目錄內打開CMD命令窗口,輸入指令httpd -k start,而後地址欄輸入www.XXX.com:8081(若未修改端口號能夠不加:8081)或者localhost:8081
image.png
除了啓動命令還有其餘命令:
關閉Apache -k stop
重啓Apache httpd -k restart
卸載Apache httpd -k uninstall
查看Apache版本 httpd -V
命令幫助 httpd -hapache

方法2:
找到apache目錄內bin目錄下的ApacheMonitor.exe文件,雙擊便可啓動
image.png
啓動後,在電腦右下角能夠看到apache的程序圖標,點擊打開,而後選中Apache2.4,點擊start
image.png
image.png
image.png安全

八、配置Mysql

參考文章:http://blog.51cto.com/lusieme...服務器

MySQL安裝文件分爲兩種,一種是msi格式的,一種是zip格式的。若是是msi格式的能夠直接點擊安裝,按照它給出的安裝提示進行安裝,zip格式是本身解壓,解壓縮以後其實MySQL就可使用了,可是要進行配置。這裏我以zipg格式爲例,進行配置

8.一、系統環境變量配置

個人電腦->屬性->高級->環境變量
image.png
image.pngphp7

8.二、修改配置文件

參考文章:https://www.cnblogs.com/wangj...
在mysql文件夾中找到my-default.ini,若是沒有本身創建一個my.ini文件,在其中修改或添加配置:(具體路徑根據本身的安裝填寫)

[mysqld] 

basedir=C:\website\mysql

datadir=C:\website\mysql\data

8.三、安裝mysql

以管理員身份運行cmd(必定要用管理員身份運行,否則權限不夠),
輸入:cd C:\website\mysql\bin 進入mysqlbin文件夾(無論有沒有配置過環境變量,也要進入bin文件夾,不然以後啓動服務仍然會報錯誤2)
輸入mysqld -install(若是不用管理員身份運行,將會由於權限不夠而出現錯誤:Install/Remove of the Service Denied!)
image.png

8.四、啓動mysql服務

繼續在cmd中輸入net start mysql,服務啓動成功!
image.png
這一步若是啓動失敗,並且沒有任何報錯,請 查看mysql目錄下是否有data文件夾,若是沒有在bin目錄下打開CMD窗口,執行命令mysqld --initialize,再次啓動便可

8.五、登錄mysql

繼續在CMD中輸入指令mysql -u root -p
image.png
image.png
能夠看到是讓我輸入密碼,我百度了一下,說是默認沒有密碼,直接回車就行,但是我直接按了回車,就報錯了,原來在安裝時,它生成了一個隨機密碼,可是這個密碼很差找,在data目錄下的一個.err結尾的文件內,我用記事本打開該文件,A temporary password is generated for root@localhost:後面的就是隨機密碼
image.png

咱們先無論那個隨機密碼,咱們要重置密碼,可是咱們沒有密碼進不去,無法重置,因此先要跳過密碼驗證

8.6跳過密碼驗證

方法1:打開剛纔新建的 my.ini,在最後一行添加 skip-grant-tables,而後保存,這句命令意思就是跳過密碼驗證
image.png
保存並退出mysql,在CMD繼續輸入 net stop mysql回車,關閉mysql,或者打開任務管理器,選擇服務,中止運行mysql
image.png

方法2:(經測試,該方法在mysql8.X版本沒法使用,請使用方法1)在bin目錄下打開CMD窗口,執行命令mysqld --skip-grant-tables 回車,不要關閉該窗口,直至密碼修改完畢
image.png

重啓mysql:
無論方法1仍是方法2都是從新在bin目錄下打開一個CMD窗口,如果方法2,切記不要關閉那個CMD窗口,輸入指令net start mysql
image.png

8.七、重置密碼(注意當命令行前爲mysql>時,命令結束必須加英文分號!!!!)

登錄mysql,由於已經設置了跳過密碼驗證,因此輸入密碼時直接敲回車
image.png
(使用指令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';
image.png

由於已經重置了密碼,若是是修改了my.ini文件就能夠把my.ini文件最後加的那句話刪掉了,而後啓動數據庫---》登錄---》輸入新密碼
image.png

相關文章
相關標籤/搜索