阿里雲配置nginx+php+mysql+ftp 服務器環境(親測過程)

原來並沒有使用過Linux環境都是別人配置好,直接來用,這次自己買了一個阿里雲的服務器,記錄下自己配置的過程。


下面的內容並不是我的原創,而是在互聯網上摘取拼合成的,所以......大家要感謝原作者!


1、如何連接服務器執行環境配置


我使用的是centos6.5 64位版本,如果您不是第一次接觸linux那一定知道,linux不是一個可視化界面的系統,所以要摒棄windows的操作習慣,我使用的xshell這個軟件鏈接的服務器,連接語句是 ssh root@ip地址


1的位置就是寫入你的ip地址,然後回車鞋面就會自動連接,彈框提示輸入密碼


輸入服務器的密碼,點擊確定即鏈接上了



ok,下面就可以開始配置環境了,第一步我們先配置nginx


2、nginx安裝部分


想在 CentOS 系統上安裝 Nginx ,你得先去添加一個資源庫,像這樣:

vim /etc/yum.repos.d/nginx.repo

使用 vim 命令去打開 /etc/yum.repos.d/nginx.repo ,如果 nginx.repo 不存在,就會去創建一個這樣的文件,打開以後按一下小 i 鍵,進入編輯模式,然後複製粘貼下面這幾行代碼,完成以後按 esc 鍵退出,再輸入 :wq (保存並退出)

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1

完成以後,我們就可以使用 yum 命令去安裝 nginx 了,像這樣:

yum install nginx

安裝好以後測試一下 nginx 服務:

service nginx status

應該會返回:

nginx is stopped (nginx 已停止)

再測試一下 nginx 的配置文件:

nginx -t

應該會返回:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

... syntax is ok,... test is successful,說明配置文件沒問題,同時這個結果裏你可以找到 nginx 的配置文件 nginx.conf 所在的位置。

操縱 nginx 服務

操縱服務,可以使用使用 service 命令,它可以啓動(start),重啓(restart),或停止服務(stop),比如要啓動 nginx 服務:

service nginx start

服務啓動以後,你就可以在瀏覽器上使用服務器的 IP 地址,或者指向這個地址的域名訪問服務器指定的目錄了。你會看到類似下面的這些文字。

Welcome to nginx! If you see this page, the nginx web server is successfully installed and working. Further configuration is required. For online documentation and support please refer to nginx.org. Commercial support is available at nginx.com. Thank you for using nginx.


3、nginx配置部分


下面來看一下爲 nginx 配置虛擬主機。先進入到 nginx 配置文件目錄:

cd /etc/nginx/conf.d

複製這個目錄裏的 default.conf ,複製以後的名字可以使用你的虛擬主機名字。比如創建一個 nginx.ninghao.net 的虛擬主機。複製文件可以使用 cp 命令,像這樣:

cp default.conf nginx.ninghao.net.conf

再去編輯一下這個複製以後的配置文件,可以使用 vim 命令:

vim nginx.ninghao.net.conf

你會看到像這樣的代碼:

server {
 listen 80;
 server_name localhost;
 #charset koi8-r;
 #access_log   /var/log/nginx/log/host.access.log main;
 location / {
 root /usr/share/nginx/html;
 index index.html index.htm;
}
...
}

server_name 就是主機名,也就是跟這個虛擬主機綁定在一塊兒的域名,我事先把 nginx.ninghao.net 指向了服務器,這個虛擬主機就是爲它準備的,所以,server_name 後面的東西就是 nginx.ninghao.net 。緊接着 server_name 下面可以是一個root,就是這個虛擬主機的根目錄,也就是網站所在的目錄。比如我們要把 nginx.ninghao.net 這個網站的文件放在/home/www/nginx.ninghao.net 下面,那麼這個 root 就是這個路徑。

然後去掉 location / 裏面的 root 這行代碼。再在 index 後面加上一種索引文件名,也就是默認打開的文件,這裏要加上一個 index.php ,這樣訪問 nginx.ninghao.net 就可以直接打開 root 目錄下面的 index.php 了。稍後我們再去安裝 php 。修改之後,看起來像這樣:

server {
 listen 80;
 server_name nginx.ninghao.net;
 root /home/www/nginx.ninghao.net;
 #charset koi8-r;
 #access_log /var/log/nginx/log/host.access.log main;

 location / {
 index index.php index.html index.htm;
 }
...
}

這個配置文件先修改到這,稍後,我們再回來繼續修改一下它。保存一下,按 esc ,輸入 :wp(保存並退出)。現在虛擬主機應該就可以使用了。主機的域名是 nginx.ninghao.net,訪問它的時候,打開的是 /home/www/nginx.ninghao.net 這個目錄裏面的東西,你可以在這個目錄下放點東西。

重啓 nginx 或者重新加載 nginx 可以讓配置文件生效。

service nginx reload

現在,打開瀏覽器,輸入你爲虛擬主機設置的域名,看看是否能打開你指定的目錄裏的東西。


4、配置php-fpm部分

要讓 nginx 能夠執行 php 文件,需要去安裝一下 php-fpm,它直接包含在了 CentOS 資源庫裏,所以直接使用 yum 命令可以安裝它:

yum install php-fpm

完成以後,可以檢查一下 php-fpm 的運行狀態,使用 service 命令:

service php-fpm status

返回:

php-fpm is stopped(php-fpm 已停止)

啓動 php-fpm 同樣可以使用 service 命令:

service php-fpm start

5、讓 nginx 可以執行 php

現在我們應該就可以讓 nginx 去執行 php 了。不過你需要修改一下 nginx 的配置文件,之前我們在配置虛擬主機的時候,創建了一個 nginx.ninghao.net.conf 的配置文件,需要去修改下 nginx 的這個配置文件,才能去執行 php 。使用 vim 命令去編輯它:

vim /etc/nginx/conf.d/nginx.ninghao.net.conf

注意你的配置文件不一定叫 nginx.ninghao.net.conf,應該是你自己命名的配置文件。打開以後,找到下面這段字樣的代碼:

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    #location ~ \.php$ {
    #    root           html;
    #    fastcgi_pass   127.0.0.1:9000;
    #    fastcgi_index  index.php;
    #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
    #    include        fastcgi_params;
    #}

這是 nginx 默認給我們的用來執行 php 的配置,從 location 開始取消註釋,會讓這個配置生效,然後我們還得簡單去修改一下:

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    location ~ \.php$ {
    #   root           html;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }

注意 root 那裏仍然是被註釋掉的,還有 SCRIPT_FILENAME 後面修改了一下,把 /scripts 換成了 $document_root 。保存並退出。然後重新啓動 nginx:

service nginx restart

6、測試是否可以執行 php

現在,我們已經安裝了 php-fpm,並修改了 nginx 的配置文件讓它可以去執行 php,下面,我們得去測試一下,可以使用 php 的 phpinfo(); 函數,方法是在你的虛擬主機根目錄下面,創建一個 php 文件,命名爲 phpinfo.php,然後在這個文件裏輸入:

<?php phpinfo(); ?>

保存文件並退出。在瀏覽器裏打開剛纔創建的這個 php 文件。我這裏應該是 http://nginx.ninghao.net/phpinfo.php。打開以後,你應該能看到像下面這樣的界面,如果能,說明 nginx 已經可以執行 php 了。

QQ20140322-4

7、配置擴展

現在,我們有了可以提供 web 服務的 nginx ,並且安裝了 php-fpm ,配置了 nginx 可以讓它去執行 php ,也安裝了數據庫管理系統。不過在運行真正的網站的時候,我們還需要爲 php 安裝一些額外的擴展,比如 處理 mysql 數據庫的 mysql 擴展,緩存功能的 apc 擴展,處理圖像的 gd 擴展等等。安裝它們同樣可以使用 yum 命令。

yum install php-pecl-apc php-mysql php-gd php-mcrypt php-pear php-mbstring php-xmlrpc php-dom

上面安裝了一些 php 的擴展,如果你發現在安裝網站的時候提示需要安裝其它的擴展,同樣可以使用 yum 命令去安裝。安裝完成以後,需要重啓一下 php-fpm :

service php-fpm restart

8、安裝mysql

mysql 可以管理網站用到的數據庫,WordPress 和 Drupal 也都支持 mysql 數據庫。所以我們的 Web 運行環境裏,需要安裝一個 mysql 。之前我們已經添加了資源庫,所以可以直接使用 yum 命令去安裝  mysql :

yum install mysql-server

安裝完成後,使用 service 命令啓動 mysql 服務:

service mysqld start

然後我們需要簡單配置一下 mysql ,默認安裝以後 mysql 的 root 用戶是沒有密碼的,對於生產環境來說,這肯定是不行的,另外還有一些安全相關的設置,可以使用下面這行命令去配置一下,它是一個嚮導,問你一些問題,你要給出答案,比如是否要設置 root 用戶的密碼, 密碼是什麼等等。

mysql_secure_installation

Enter current password for root (enter for none):
解釋:輸入當前 root 用戶密碼,默認爲空,直接回車。
Set root password? [Y/n]  y
解釋:要設置 root 密碼嗎?輸入 y 表示願意。
Remove anonymous users? [Y/n]  y
解釋:要移除掉匿名用戶嗎?輸入 y 表示願意。
Disallow root login remotely? [Y/n]  n
解釋:不想讓 root 遠程登陸嗎?輸入 y 表示願意。
Remove test database and access to it? [Y/n]  y
解釋:要去掉 test 數據庫嗎?輸入 y 表示願意。
Reload privilege tables now? [Y/n]  y
解釋:想要重新加載權限嗎?輸入 y 表示願意。


這裏安裝完之後,會有一個問題,因爲本人喜歡使用工具鏈接數據庫,所以本地使用navicate鏈接遠程數據庫,但是會報錯1130

解決辦法如下:
1,查詢Mysql中所有用戶的權限:
 
 
意料之中,mysql的root用戶只能通過本機訪問,下面我們來改一下權限:
 
?
1
2
3
[plain]
mysql> update `user` set `host` = '%' where `user` = 'root'
mysql> flush privileges;
就可以啦。。。當然是百度來的

繼續!

9、安裝ftp

大家看到了,所有的文件操作在ssh中可以通過vim方法來實現,但是,你知道在windows中用慣了,還是喜歡看圖形界面,所以在這裏我安裝了ftp可以遠程來上傳修改文件

軟件:winscp(百度下載就好了)

1.安裝vsftpd

yum install vsftpd

2.啓動/重啓/關閉vsftpd服務器
[root@localhost ftp]# /sbin/service vsftpd restart
Shutting down vsftpd: [ OK ]
Starting vsftpd for vsftpd: [ OK ]
 
OK表示重啓成功了.


這裏現在就可以直接使用root及你的密碼來查看了,當然這樣的是超級用戶,留給自己用的,要配置指定要文件夾的用戶,我就在不在這裏寫了,大家繼續百度下吧

10、最後一個問題


是阿里雲的特有問題,大家知道阿里雲購買服務器後會有一個自帶的系統盤20g,,但是大部分服務器都會自己在購買一個雲盤,上面我們做的所有事情其實都是在系統盤裏操作,在linux系統裏要使用你購買的雲盤需要掛載!

操作:http://www.voidcn.com/blog/wlzx120/article/p-3681332.html

按照這個來操作就好了,左後記得把nginx配置的root指定到掛在上去的文件夾,這樣以後你的項目就都放到你獨立購買的雲盤了!!




只是一個記錄,打完收工!!88

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章