【新手建站三部曲之一】——一塊錢搭建自己的服務器(LAMP)

本地:Windows7
雲主機:CentOS6.7
參考百度第一條教程

購買騰訊雲主機

最便宜的雲主機一年也要近千元,所以這裏的一元錢雲主機是有前提的,前提是什麼呢?前提就是你還是個寶寶,劃掉,還是個學生。。。
活動地址:https://www.qcloud.com/act/campus
網站有具體流程,這裏不贅述
購買成功後你就可以在你的主頁裏看到你的雲主機(我選擇的是CentOS6.7 64位)
這裏寫圖片描述
這裏要記住的是登陸密碼(購買時設置的),還有外網ip
先登陸一下主機
這裏寫圖片描述
這個東西是通過瀏覽器遠程訪問雲主機出現的,但我們有一個更強大的工具——Xshell,下載很簡單,我記着很簡單。。。

Xshell遠程連接雲主機

這裏寫圖片描述

主機那裏寫雲主機IP,連接後輸入用戶名和密碼就連接到了雲主機

這裏寫圖片描述

現在我們就可以在自己的電腦上遠程控制雲主機了

前期準備

1、配置防火牆,開啓80端口、3306端口

vim /etc/sysconfig/iptables

-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT #允許80端口通過防火牆
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT #允許3306端口通過防火牆

添加到默認的22端口這條規則的下面

這裏寫圖片描述

service iptables restart #最後重啓防火牆使配置生效

下面是一些其他方法(這裏沒用到)

終端中輸入如下命令打開防火牆:
chkconfig iptables on
如閉防火牆則輸入:
chkconfig iptables off
上述兩條命令均要重啓系統才能生效。
如果不想通過重啓系統而即時生效的話,可以用“service”命令。缺點是重啓系統後設置會丟失。
開啓了防火牆:
service iptables start
關閉防火牆:
service iptables stop
要在防火牆中設置某些端口的開關,可修改編輯/etc/sysconfig/iptables文件,比如開啓SSH 端口22,可以加上如下內容:
-A RH-Firewall-1-INPUT -m state ――state NEW -m tcp -p tcp ――dport 22 -j ACCEPT

2、關閉SELINUX

vim /etc/selinux/config

shutdown -r now #重啓系統

不知道爲什麼,再也沒重啓過來,,,我在騰訊雲主頁給我的雲主機重裝了系統。。。

重裝系統後滿血歸來

這個前期準備工作暫時不做了。。。

尷尬。。。

安裝Apache

yum install httpd

一直按y繼續直到安裝成功

service httpd start

出現錯誤提示
這裏寫圖片描述

解決辦法:

vim /etc/httpd/conf/httpd.conf

找到 #ServerName www.example.com:80 (把註釋去掉)
修改爲 ServerName 域名:80 #沒有域名寫localhost

vim 查找功能 :/ServerName
n查找下一個
N查找上一個

這裏寫圖片描述

設爲開機啓動

chkconfig httpd on

啓動Apache

service httpd start

這裏寫圖片描述
啓動成功

安裝MySQL

安裝MySQL

yum install mysql mysql-server

啓動MySQL

service mysqld start

設爲開機啓動

chkconfig mysqld on

拷貝配置文件

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

(提示已有文件,按y直接覆蓋)

2、爲root賬戶設置密碼

mysql_secure_installation

根據提示按回車,和Y
配置成功
這裏寫圖片描述

重啓 MySQL:

service mysqld restart

安裝PHP

1.安裝php5

yum install php

2.安裝PHP組件,使 PHP5 支持 MySQL

yum install php-mysql php-gd libjpeg* php-imap php-ldap php-odbc
php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath
php-mhash libmcrypt

(以上軟件貌似可以用php-mysql代替,好像還要還要裝一個php-fpm)

查看已安裝軟件

rpm -aq | grep php

這裏寫圖片描述

查看已啓動的服務

netstat -tunlp

重啓MySql

service mysqld restart

重啓Apche

service httpd restart

配置

一、Apache配置

vi /etc/httpd/conf/httpd.conf #編輯文件

44行

ServerTokens OS 修改爲:ServerTokens Prod (在出現錯誤頁的時候不顯示服務器操作系統的名稱)

536行

ServerSignature On 修改爲:ServerSignature Off (在錯誤頁中不顯示Apache的版本)

331行

Options Indexes FollowSymLinks 修改爲:Options Includes ExecCGI
FollowSymLinks(允許服務器執行CGI及SSI,禁止列出目錄)

796行

#AddHandler cgi-script .cgi 修改爲:AddHandler cgi-script .cgi .pl
(允許擴展名爲.pl的CGI腳本運行)

338行

AllowOverride None  修改爲:AllowOverride All (允許.htaccess)

759行

AddDefaultCharset UTF-8 修改爲:AddDefaultCharset GB2312 (添加GB2312爲默認編碼)

554行

Options Indexes MultiViews FollowSymLinks 修改爲 Options MultiViews
FollowSymLinks(不在瀏覽器上顯示樹狀目錄結構)

402行

DirectoryIndex index.html index.html.var 修改爲:DirectoryIndex
index.html index.htm Default.html Default.htm index.php Default.php
index.html.var (設置默認首頁文件,增加index.php)

76行

KeepAlive Off 修改爲:KeepAlive On (允許程序性聯機)

83行

MaxKeepAliveRequests 100 修改爲:MaxKeepAliveRequests 1000 (增加同時連接數)

重啓Apache

service httpd restart

刪除默認測試頁

rm -f /etc/httpd/conf.d/welcome.conf /var/www/error/noindex.html

vim快捷鍵

:set nu //顯示行號
:數字 //跳轉到指定行

二、php配置
編輯php配置文件

vi /etc/php.ini

946行

date.timezone = PRC

386行

disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd, posix_getegid,posix_geteuid,posix_getgid, posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname #列出PHP可以禁用的函數,如果某些程序需要用到這個函數,可以刪除,取消禁用。

432行

expose_php = Off # 禁止顯示php版本的信息

745行

magic_quotes_gpc = On # 打開magic_quotes_gpc來防止SQL注入

229行

short_open_tag = ON #支持php短標籤

380行

open_basedir = .:/tmp/ #
設置表示允許訪問當前目錄(即PHP腳本文件所在之目錄)和/tmp/目錄,可以防止php木馬跨站,如果改了之後安裝程序有問題,可以註銷此行,或者直接寫上程序的目錄/data/www.example.com/:/tmp/

重啓MySQL

service mysqld restart

重啓Apche

service httpd restart

測試

到此爲止,環境搭建完成,見證奇蹟(或者車禍)的時候到了
據說大多數程序員都喜歡界面上打印hello world,搞得好像敲代碼挺高興似的,我們來一個悲觀一點的

vim /var/www/html/index.php

<?php
echo 'Goodbye world!';
?>

在本地電腦(或者手機)輸入雲服務器地址
這裏寫圖片描述

此刻世界都變得美好了

寫在吃飯回來

弄這個玩意都忘吃飯了。。。。
騰訊雲還免費送一個域名,我申請了potato47.com,但現在還在審覈,過幾天應該就可以訪問了,大家閒得慌可以去看一下哈
還有,如果你想快點看到結果,那些配置其實是不着急配置的,這是我吃完飯回來明白過來的。。。

發佈了71 篇原創文章 · 獲贊 157 · 訪問量 51萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章