手把手帶你搭建第一個個人網站(上)

前言

隨著雲計算普及,伺服器價格可以說不斷降低,因此寫出這篇文章讓對IT感興趣或者想讓自己變得與眾不同的小夥伴們更便捷地搭建一個屬於自己的個人網站。在自己的網站中秀出自己的不一樣精彩!—— JK

一、簡介

1. 伺服器

這次使用的是UCloud的伺服器(雲主機UHost),IP使用UCloud的彈性IP(如果您使用的是其他伺服器或其他友商的雲主機,該文的試驗步驟依然相同)。

2. 後端

後端配置統稱為LNMP,LNMP=Linux+Nginx+MySQL+PHP(即Linux系統內搭建Nginx,MySQL,PHP5服務)。

Nginx:Nginx(發音同 engine x )是一個網頁伺服器,它能反向代理HTTP,

HTTPS, SMTP, POP3, IMAP的協議鏈接,以及一個負載均衡器和一個HTTP緩存。

MySQL:一個關係型資料庫管理系統

PHP:一種在伺服器端執行的嵌入HTML文檔的 腳本語言

Linux系統是centos 6.5,其他服務用atomic包進行yum安裝。

3. 前端

前端配置為WordPress,WordPress是一種使用PHP語言開發的博客平台,用戶可以在支持PHP和MySQL資料庫的伺服器上架設屬於自己的網站。也可以把 WordPress當作一個內容管理系統(CMS)來使用。

WordPress配置為最新配置。(包為latest.tar.gz)

4. 服務對比

一般搭建網站服務基本都是LAMP或者LNMP(A即Apache,N即Nginx)。

Apache的優勢:開源,穩定,模塊豐富

Nginx的優勢:消耗資源少,支持高並發連接,效率高

使用環境:

LNMP:節省內存、靜態內容多、高並發、規模小

LAMP:力求穩定、動態內容多、功能多、規模大

二、後端配置

1. 準備工作

0)使用工具:

推薦使用xshell進行遠程操作,如果您使用的是雲主機,則遇到開關機或者重啟機器的命令(如:reboot),需要登錄控制台進行操作。

1)linux內迅速定位到行數

冒號後輸入行數,點擊enter鍵

圖1:行數定位

2)linux迅速定位到字元

冒號後輸入 /字元,點擊enter鍵(查找下一個,點擊N)

圖2:字元定位

3)開通iptables(開啟80,3306埠)

註:80埠開啟,針對http協議(即網頁);3306埠開啟,針對MySQL資料庫

3.1)添加兩條iptables規則,進行開通。

#vim/etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp

--dport 80 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp

--dport 3306 -j ACCEPT

圖3:修改iptables規則(放在22後面)

3.2)重啟iptables

# /etc/init.d/iptables restart

圖4:重啟防火牆

4)關閉SELinux

4.1)修改兩條SELinux規則

# vim /etc/selinux/config

SELINUX=disabled

#SELINUXTYPE=targeted

圖5:修改SELinux規則

4.2)重啟伺服器

#reboot

5)安裝第三方yum源

5.1)下載wget工具

#yum install wget

圖6:下載wget工具

5.2)下載atmoic包

註:Atomic源支持Fedora,RHEL和CentOS的YUM包管理

# wget

atomicorp.com/installer

圖7:下載atomic包

5.3)安裝atomic包

# sh ./atomic

圖8:安裝atomic包

5.4)更新yum源

#yum check-update

圖9:更新atomic包

2.安裝後端服務

1)安裝Nginx

1.1)刪除系統自帶的軟體包

# yum remove httpd* php*

1.2)yum安裝Nginx

#yum install nginx -y

圖10:安裝Nginx

1.3)設置Nginx開機啟動

# chkconfig nginx on

1.4)啟動Nginx

# service nginx start

圖11:啟動Nginx

2)安裝MySQL

2.1)yum 安裝MySQL

#yum install mysql mysql-server -y

註:yum install 包名 –y :自動安裝包內所有,y即yes

圖12:安裝MySQL

2.2)啟動MySQL

# /etc/init.d/mysqld start

圖13:啟動MySQL

2.3)設置MySQL開機啟動

#chkconfig mysqld on

2.4)拷貝my-medium.cnf配置文件

#cp /usr/share/mysql/my-medium.cnf

/etc/my.cnf

註:如果/etc目錄下面默認有一個my.cnf 直接覆蓋即可

圖14:拷貝my-medium.cnf配置文件

2.5)設置MySQL的root密碼

#mysql_secure_installation

圖15:點擊enter

圖16:輸入Y,創建root密碼

圖17:輸入兩次密碼

圖18:移除匿名用戶,輸入Y

圖19:不允許root最高許可權遠程登錄,輸入Y

圖20:移除測試庫並進行訪問,輸入Y

圖21:重新載入特權表,輸入Y

2.6)重啟MySQL服務

# /etc/init.d/mysqld restart

圖22:重啟MySQL服務

3)安裝PHP5

3.1)yum安裝php

#yum install php php-fpm -y

圖23:重啟MySQL服務

3.2)安裝PHP組件(PHP5支持MySQL)

# yum install php-mysql php-gd libjpeg* php-imap php-ldap php-pear php-xml php-xmlrpc php-mbstring php-mcrypt

php-bcmath php-mhash libmcrypt

圖24:安裝PHP組件,選擇yes

圖25:安裝PHP組件最後結果

3.3)設置php-fpm 開機啟動

#chkconfig php-fpm on

3.4)啟動php-fpm

#/etc/init.d/php-fpm start

圖26:啟動php-fpm

3.配置後端服務

1)Nginx支持PHP

1.1)備份nginx.conf配置文件

#cp /etc/nginx/nginx.conf /etc/nginx/nginxbak

圖27:備份nginx.conf配置文件

1.2)編輯nginx.conf配置文件

#vim /etc/nginx/nginx.conf

user nginx nginx; 添加Nginx組的用戶的用戶名為nginx

圖28:編輯nginx.conf配置文件

1.3)備份default.conf配置文件

#cp /etc/nginx/conf.d/default.conf /etc/nginx/conf.dbak

圖29:備份default.conf配置文件

1.4)編輯default.conf配置文件

#vim /etc/nginx/conf.d/default.conf

在location內添加

index index.php index.html index.htm;

圖30:location內添加index格式

添加一條

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;

}

圖31:添加一條php規則

1.5)重啟Nginx

#service nginx restart

圖32:重啟Nginx

2)配置PHP

2.1)編輯配置

#vim /etc/php.ini

211行:修改為short_open_tag=ON

圖33:修改211行

375行:修改為 expose_php =off

圖34:修改375行

878行:修改為 date.timezone= PRC

圖35:修改878行

3)配置php-fpm

3.1)備份php-fpm配置文件

#cp /etc/php-fpm.d/www.conf/etc/php-fpm.d/www.confbak

3.2)進行配置編輯

#vim /etc/php-fpm.d/www.conf

將apache改為nginx

user=nginx

group=nginx

圖36:原www.conf圖

圖37:現www.conf圖

4)測試

4.1)進入html

#cd /usr/share/nginx/html

4.2)編輯index.php文件

#vim index.php

編輯內容:

<?php

$link=mysql_connect("localhost","root","111111");

if(!$link) echo "FAILD!Please check your password!";

else echo "OK!Your connection is successful";

?>

註:mysql_connect( )函數的參數依次為:mysql伺服器名或IP、mysql用戶名,mysql用戶密碼。

圖38:編輯index.php內容

4.3)設置許可權

# chown nginx.nginx /usr/share/nginx/html

-R

4.4)重啟nginx

#service nginx restart

圖39:重啟Nginx

4.5)重啟php-fpm

#service php-fpm restart

圖40:重啟php-fpm

使用個人電腦登錄網頁:

圖41:mysql連接成功

證明MySQL連接成功了!

4.6)修改index.php文件

#vim index.php

修改內容:

<?php

phpinfo();

?>

圖42:index.php內容

4.7)重啟nginx

#service nginx restart

圖43:重啟Nginx

4.8)重啟php-fpm

#service php-fpm restart

圖44:重啟php-fpm

4.9)輸入伺服器的IP地址進入網頁

UCloud雲主機:

#curl myip.ipip.net

圖45:雲主機查找eip地址

使用個人電腦登錄網頁:

圖46:個人電腦瀏覽器登錄網頁情況

證明LNMP的後端試驗成功了!

本文由UCloud專家服務團隊季凱原創,轉載合作請私聊大U

——————

相關閱讀推薦:

「零基礎」實現人臉表情識別

QPS超200萬的CC攻擊要如何防禦?

使用Docker網路解決方案weave遇到的那些坑

記一次虛擬化環境下Windows IO性能的解析

阿里雲、騰訊雲、UCloud和AWS的雲主機測評

企業要如何防禦惡意 bot 流量?

五大常見的MySQL高可用方案

福利時間

如果你想親自上手,在雲上部署體驗以上技術實踐過程,大U為大家爭取到了100元 UCloud雲服務代金券,夠大家免費使用1個月的1核/2G/20G數據盤雲主機。

立即 註冊UCloud,在活動/邀請碼一欄填入:zhihu-ucloud,即可獲得代金券。

此外,我們還在V2EX上做了一個爆款雲主機的活動,99包月990包年,還等什麼~~[UCloud 爆款雲主機] 2 核/2G/2M 帶寬 低至 99 元/月, V2EX 用戶再送 100 元代金券! - V2EX

有問題請添加UCloud運營小妹個人微信號:Surdur 進行諮詢。

「UCloud機構號」將獨家分享雲計算領域的技術洞見、行業資訊以及一切你想知道的相關訊息。歡迎提問&求關注 o(*////▽////*)q~

以上。


推薦閱讀:

哪些技能,經較短時間的學習,就可以給人的生活帶來巨大幫助?
講真,如何真正又快又准地查到你想要的信息?
你為了追求妹子,都 get 過什麼技能?
如何高效分享和輸出?
音樂遊戲玩得好的人比不會玩的人多了什麼?可以提高人諸如音感,反應那樣的能力嗎?

TAG:云计算 | 技能 | 云主机 |