手把手帶你搭建第一個個人網(wǎng)站(上)
前言
隨著云計算普及,服務(wù)器價格可以說不斷降低,因此寫出這篇文章讓對IT感興趣或者想讓自己變得與眾不同的小伙伴們更便捷地搭建一個屬于自己的個人網(wǎng)站。在自己的網(wǎng)站中秀出自己的不一樣精彩!
一、簡介
1. 服務(wù)器
這次使用的是UCloud的服務(wù)器(云主機(jī)UHost),IP使用UCloud的彈性IP(如果您使用的是其他服務(wù)器或其他友商的云主機(jī),該文的試驗(yàn)步驟依然相同)。
2. 后端
后端配置統(tǒng)稱為LNMP,LNMP=Linux+Nginx+MySQL+PHP(即Linux系統(tǒng)內(nèi)搭建Nginx,MySQL,PHP5服務(wù))。
Nginx:Nginx(發(fā)音同 engine x )是一個網(wǎng)頁服務(wù)器,它能反向代理HTTP,HTTPS, SMTP, POP3, IMAP的協(xié)議鏈接,以及一個負(fù)載均衡器和一個HTTP緩存。
MySQL:一個關(guān)系型數(shù)據(jù)庫管理系統(tǒng)
PHP:一種在服務(wù)器端執(zhí)行的嵌入HTML文檔的 腳本語言
Linux系統(tǒng)是centos 6.5,其他服務(wù)用atomic包進(jìn)行yum安裝。
3. 前端
前端配置為WordPress,WordPress是一種使用PHP語言開發(fā)的博客平臺,用戶可以在支持PHP和MySQL數(shù)據(jù)庫的服務(wù)器上架設(shè)屬于自己的網(wǎng)站。也可以把 WordPress當(dāng)作一個內(nèi)容管理系統(tǒng)(CMS)來使用。
WordPress配置為最新配置。(包為latest.tar.gz)
4. 服務(wù)對比
一般搭建網(wǎng)站服務(wù)基本都是LAMP或者LNMP(A即Apache,N即Nginx)。
- Apache的優(yōu)勢:開源,穩(wěn)定,模塊豐富
- Nginx的優(yōu)勢:消耗資源少,支持高并發(fā)連接,效率高
使用環(huán)境:
- LNMP:節(jié)省內(nèi)存、靜態(tài)內(nèi)容多、高并發(fā)、規(guī)模小
- LAMP:力求穩(wěn)定、動態(tài)內(nèi)容多、功能多、規(guī)模大
二、后端配置
1. 準(zhǔn)備工作
(1) 使用工具:
推薦使用xshell進(jìn)行遠(yuǎn)程操作,如果您使用的是云主機(jī),則遇到開關(guān)機(jī)或者重啟機(jī)器的命令(如:reboot),需要登錄控制臺進(jìn)行操作。
(2) linux內(nèi)迅速定位到行數(shù)
冒號后輸入行數(shù),點(diǎn)擊enter鍵
圖1:行數(shù)定位
(3)linux迅速定位到字符
冒號后輸入 /字符,點(diǎn)擊enter鍵(查找下一個,點(diǎn)擊N)
圖2:字符定位
(4) 開通iptables(開啟80,3306端口)
注:80端口開啟,針對http協(xié)議(即網(wǎng)頁);3306端口開啟,針對MySQL數(shù)據(jù)庫
1)添加兩條iptables規(guī)則,進(jìn)行開通。
- #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開機(jī)啟動
- # chkconfig nginx on
4)啟動Nginx
- # service nginx start
圖11:啟動Nginx
(2) 安裝MySQL
1)yum 安裝MySQL
- #yum install mysql mysql-server -y
注:yum install 包名 –y :自動安裝包內(nèi)所有,y即yes
圖12:安裝MySQL
2)啟動MySQL
- # /etc/init.d/mysqld start
圖13:啟動MySQL
3)設(shè)置MySQL開機(jī)啟動
- #chkconfig mysqld on
4)拷貝my-medium.cnf配置文件
- #cp /usr/share/mysql/my-medium.cnf
- /etc/my.cnf
注:如果/etc目錄下面默認(rèn)有一個my.cnf 直接覆蓋即可
圖14:拷貝my-medium.cnf配置文件
5)設(shè)置MySQL的root密碼
- #mysql_secure_installation
圖15:點(diǎn)擊enter
圖16:輸入Y,創(chuàng)建root密碼
圖17:輸入兩次密碼
圖18:移除匿名用戶,輸入Y
圖19:不允許root最高權(quán)限遠(yuǎn)程登錄,輸入Y
圖20:移除測試庫并進(jì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 開機(jī)啟動
- #chkconfig php-fpm on
4)啟動php-fpm
- #/etc/init.d/php-fpm start
圖26:啟動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組的用戶的用戶名為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) 測試
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用戶名,mysql用戶密碼。
圖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
使用個人電腦登錄網(wǎng)頁:
圖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)頁
UCloud云主機(jī):
- #curl myip.ipip.net
圖45:云主機(jī)查找eip地址
使用個人電腦登錄網(wǎng)頁:
圖46:個人電腦瀏覽器登錄網(wǎng)頁情況
證明LNMP的后端試驗(yàn)成功了!
【本文是51CTO專欄機(jī)構(gòu)作者“大U的技術(shù)課堂”的原創(chuàng)文章,轉(zhuǎn)載請通過微信公眾號(ucloud2012)聯(lián)系作者】