手把手帶你搭建第一個(gè)個(gè)人網(wǎng)站(上)
前言
隨著云計(jì)算普及,服務(wù)器價(jià)格可以說(shuō)不斷降低,因此寫(xiě)出這篇文章讓對(duì)IT感興趣或者想讓自己變得與眾不同的小伙伴們更便捷地搭建一個(gè)屬于自己的個(gè)人網(wǎng)站。在自己的網(wǎng)站中秀出自己的不一樣精彩!
一、簡(jiǎn)介
1. 服務(wù)器
這次使用的是UCloud的服務(wù)器(云主機(jī)UHost),IP使用UCloud的彈性IP(如果您使用的是其他服務(wù)器或其他友商的云主機(jī),該文的試驗(yàn)步驟依然相同)。
2. 后端
后端配置統(tǒng)稱(chēng)為L(zhǎng)NMP,LNMP=Linux+Nginx+MySQL+PHP(即Linux系統(tǒng)內(nèi)搭建Nginx,MySQL,PHP5服務(wù))。
Nginx:Nginx(發(fā)音同 engine x )是一個(gè)網(wǎng)頁(yè)服務(wù)器,它能反向代理HTTP,HTTPS, SMTP, POP3, IMAP的協(xié)議鏈接,以及一個(gè)負(fù)載均衡器和一個(gè)HTTP緩存。
MySQL:一個(gè)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)
PHP:一種在服務(wù)器端執(zhí)行的嵌入HTML文檔的 腳本語(yǔ)言
Linux系統(tǒng)是centos 6.5,其他服務(wù)用atomic包進(jìn)行yum安裝。
3. 前端
前端配置為WordPress,WordPress是一種使用PHP語(yǔ)言開(kāi)發(fā)的博客平臺(tái),用戶(hù)可以在支持PHP和MySQL數(shù)據(jù)庫(kù)的服務(wù)器上架設(shè)屬于自己的網(wǎng)站。也可以把 WordPress當(dāng)作一個(gè)內(nèi)容管理系統(tǒng)(CMS)來(lái)使用。
WordPress配置為最新配置。(包為latest.tar.gz)
4. 服務(wù)對(duì)比
一般搭建網(wǎng)站服務(wù)基本都是LAMP或者LNMP(A即Apache,N即Nginx)。
- Apache的優(yōu)勢(shì):開(kāi)源,穩(wěn)定,模塊豐富
- Nginx的優(yōu)勢(shì):消耗資源少,支持高并發(fā)連接,效率高
使用環(huán)境:
- LNMP:節(jié)省內(nèi)存、靜態(tài)內(nèi)容多、高并發(fā)、規(guī)模小
- LAMP:力求穩(wěn)定、動(dòng)態(tài)內(nèi)容多、功能多、規(guī)模大
二、后端配置
1. 準(zhǔn)備工作
(1) 使用工具:
推薦使用xshell進(jìn)行遠(yuǎn)程操作,如果您使用的是云主機(jī),則遇到開(kāi)關(guān)機(jī)或者重啟機(jī)器的命令(如:reboot),需要登錄控制臺(tái)進(jìn)行操作。
(2) linux內(nèi)迅速定位到行數(shù)
冒號(hào)后輸入行數(shù),點(diǎn)擊enter鍵
圖1:行數(shù)定位
(3)linux迅速定位到字符
冒號(hào)后輸入 /字符,點(diǎn)擊enter鍵(查找下一個(gè),點(diǎn)擊N)
圖2:字符定位
(4) 開(kāi)通iptables(開(kāi)啟80,3306端口)
注:80端口開(kāi)啟,針對(duì)http協(xié)議(即網(wǎng)頁(yè));3306端口開(kāi)啟,針對(duì)MySQL數(shù)據(jù)庫(kù)
1)添加兩條iptables規(guī)則,進(jìn)行開(kāi)通。
- #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規(guī)則(放在22后面)
2)重啟iptables
- # /etc/init.d/iptables restart
圖4:重啟防火墻
(5) 關(guān)閉SELinux
1)修改兩條SELinux規(guī)則
- # vim /etc/selinux/config
- SELINUX=disabled
- #SELINUXTYPE=targeted
圖5:修改SELinux規(guī)則
2)重啟服務(wù)器
- #reboot
(6) 安裝第三方y(tǒng)um源
1)下載wget工具
- #yum install wget
圖6:下載wget工具
2)下載atmoic包
注:Atomic源支持Fedora,RHEL和CentOS的YUM包管理
- # wget
http://www.atomicorp.com/installers/atomic
圖7:下載atomic包
3)安裝atomic包
- # sh ./atomic
圖8:安裝atomic包
4)更新yum源
- #yum check-update
圖9:更新atomic包
2.安裝后端服務(wù)
(1) 安裝Nginx
1)刪除系統(tǒng)自帶的軟件包
- # yum remove httpd* php*
2)yum安裝Nginx
- #yum install nginx -y
圖10:安裝Nginx
3)設(shè)置Nginx開(kāi)機(jī)啟動(dòng)
- # chkconfig nginx on
4)啟動(dòng)Nginx
- # service nginx start
圖11:?jiǎn)?dòng)Nginx
(2) 安裝MySQL
1)yum 安裝MySQL
- #yum install mysql mysql-server -y
注:yum install 包名 –y :自動(dòng)安裝包內(nèi)所有,y即yes
圖12:安裝MySQL
2)啟動(dòng)MySQL
- # /etc/init.d/mysqld start
圖13:?jiǎn)?dòng)MySQL
3)設(shè)置MySQL開(kāi)機(jī)啟動(dòng)
- #chkconfig mysqld on
4)拷貝my-medium.cnf配置文件
- #cp /usr/share/mysql/my-medium.cnf
- /etc/my.cnf
注:如果/etc目錄下面默認(rèn)有一個(gè)my.cnf 直接覆蓋即可
圖14:拷貝my-medium.cnf配置文件
5)設(shè)置MySQL的root密碼
- #mysql_secure_installation
圖15:點(diǎn)擊enter
圖16:輸入Y,創(chuàng)建root密碼
圖17:輸入兩次密碼
圖18:移除匿名用戶(hù),輸入Y
圖19:不允許root最高權(quán)限遠(yuǎn)程登錄,輸入Y
圖20:移除測(cè)試庫(kù)并進(jìn)行訪問(wèn),輸入Y
圖21:重新加載特權(quán)表,輸入Y
6)重啟MySQL服務(wù)
- # /etc/init.d/mysqld restart
圖22:重啟MySQL服務(wù)
(3) 安裝PHP5
1)yum安裝php
- #yum install php php-fpm -y
圖23:重啟MySQL服務(wù)
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組件最后結(jié)果
3)設(shè)置php-fpm 開(kāi)機(jī)啟動(dòng)
- #chkconfig php-fpm on
4)啟動(dòng)php-fpm
- #/etc/init.d/php-fpm start
圖26:?jiǎn)?dòng)php-fpm
3. 配置后端服務(wù)
(1) Nginx支持PHP
1)備份nginx.conf配置文件
- #cp /etc/nginx/nginx.conf /etc/nginx/nginxbak
圖27:備份nginx.conf配置文件
2)編輯nginx.conf配置文件
- #vim /etc/nginx/nginx.conf
user nginx nginx; 添加Nginx組的用戶(hù)的用戶(hù)名為nginx
圖28:編輯nginx.conf配置文件
3)備份default.conf配置文件
- #cp /etc/nginx/conf.d/default.conf /etc/nginx/conf.dbak
圖29:備份default.conf配置文件
4)編輯default.conf配置文件
- #vim /etc/nginx/conf.d/default.conf
在location內(nèi)添加
- index index.php index.html index.htm;
圖30:location內(nèi)添加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規(guī)則
5)重啟Nginx
- #service nginx restart
圖32:重啟Nginx
(2) 配置PHP
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
1)備份php-fpm配置文件
- #cp /etc/php-fpm.d/www.conf/etc/php-fpm.d/www.confbak
2)進(jìn)行配置編輯
- #vim /etc/php-fpm.d/www.conf
將apache改為nginx
- user=nginx
- group=nginx
圖36:原www.conf圖
圖37:現(xiàn)www.conf圖
(4) 測(cè)試
1)進(jìn)入html
- #cd /usr/share/nginx/html
4.2)編輯index.php文件
- #vim index.php
編輯內(nèi)容:
- <?php
- $link=mysql_connect("localhost","root","111111");
- if(!$link) echo "FAILD!Please check your password!";
- else echo "OK!Your connection is successful";
- ?>
注:mysql_connect( )函數(shù)的參數(shù)依次為:mysql服務(wù)器名或IP、mysql用戶(hù)名,mysql用戶(hù)密碼。
圖38:編輯index.php內(nèi)容
3)設(shè)置權(quán)限
- # chown nginx.nginx /usr/share/nginx/html
- -R
4)重啟nginx
- #service nginx restart
圖39:重啟Nginx
5)重啟php-fpm
- #service php-fpm restart
圖40:重啟php-fpm
使用個(gè)人電腦登錄網(wǎng)頁(yè):
圖41:mysql連接成功
證明MySQL連接成功了!
6)修改index.php文件
- #vim index.php
修改內(nèi)容:
- <?php
- phpinfo();
- ?>
圖42:index.php內(nèi)容
7)重啟nginx
- #service nginx restart
圖43:重啟Nginx
8)重啟php-fpm
- #service php-fpm restart
圖44:重啟php-fpm
9)輸入服務(wù)器的IP地址進(jìn)入網(wǎng)頁(yè)
UCloud云主機(jī):
- #curl myip.ipip.net
圖45:云主機(jī)查找eip地址
使用個(gè)人電腦登錄網(wǎng)頁(yè):
圖46:個(gè)人電腦瀏覽器登錄網(wǎng)頁(yè)情況
證明LNMP的后端試驗(yàn)成功了!
【本文是51CTO專(zhuān)欄機(jī)構(gòu)作者“大U的技術(shù)課堂”的原創(chuàng)文章,轉(zhuǎn)載請(qǐng)通過(guò)微信公眾號(hào)(ucloud2012)聯(lián)系作者】