1. 程式人生 > >【新手建站三部曲之一】——一塊錢搭建自己的伺服器(LAMP)

【新手建站三部曲之一】——一塊錢搭建自己的伺服器(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,但現在還在稽核,過幾天應該就可以訪問了,大家閒得慌可以去看一下哈
還有,如果你想快點看到結果,那些配置其實是不著急配置的,這是我吃完飯回來明白過來的。。。

相關推薦

新手三部曲之一——一塊搭建自己伺服器LAMP

本地:Windows7 雲主機:CentOS6.7 參考百度第一條教程 購買騰訊雲主機 最便宜的雲主機一年也要近千元,所以這裡的一元錢雲主機是有前提的,前提是什麼呢?前提就是你還是個寶寶,劃掉,還是個學生。。。 活動地址:http

網路流24題之一飛行員配對問題+求方案網路流dinic演算法求二分圖最大匹配

題面 題目背景 第二次世界大戰時期.. 題目描述 英國皇家空軍從淪陷國徵募了大量外籍飛行員。由皇家空軍派出的每一架飛機都需要配備在航行技能和語言上能互相配合的2 名飛行員,其中1 名是英國飛行員,另1名是外籍飛行員。在眾多的飛行員中,每一名外籍飛行員都可

生物信息學預備生物化學 第一章 糖Carbohydrate

生物信息學 生物化學 第一章 糖(Carbohydrate)一、糖類的存在和來源 糖類是地球上最豐富的有機化合物,具有最廣譜化學結構和生物學功能的生物分子,植物體85%-90%的幹重是糖類(植物體含糖類最多,比如棉纖維的糖類含量幾乎可以達到幹重的全部),地球上的生物量(biomass)50

2018 ICPC北京網賽 A Saving Tang Monk IIBFS

《Journey to the West》(also 《Monkey》) is one of the Four Great Classical Novels of Chinese literature. It was written by Wu Cheng’en during the Min

模式識別與機器學習——最大似然估計 MLE 最大後驗概率MAP

1) 極/最大似然估計 MLE 給定一堆資料,假如我們知道它是從某一種分佈中隨機取出來的,可是我們並不知道這個分佈具體的參,即“模型已定,引數未知”。例如,我們知道這個分佈是正態分佈,但是不知道均值和方差;或者是二項分佈,但是不知道均值。 最大似然估計(MLE,Maximum Likelihood Esti

老臉教你做遊戲小鳥飛過障礙物的遊戲

摘要 我們已經從最基礎的畫線填充、cavans2d context狀態變換,做出了繪製封裝類(Figure)以及動畫類(Animation),就目前而言,這幾個簡單的類已經可以做簡單的遊戲了。這期就做個一簡單的小鳥飛躍障礙的遊戲,用來驗證我們之前的程式碼。該遊戲前幾年好像還挺多人玩:

統計學習方法讀書筆記感知機的個人理解2

這一部分說說自己看感知機學習演算法的對偶形式的理解。 引用知乎使用者的回答,這裡搞清楚兩件事情。自己看書的第一個疑惑是為什麼,這其中的ni是從何而來呢?後來發現忽略一個點就是“對於一個多次被誤分類的點”,也就是某個資料被使用了多次,因此出現ni這個引數。 第二個就是對於李航老師說的“例

統計學習方法讀書筆記感知機的個人理解1

寫在前面: 在友人的推薦下,開始入李航老師的坑,《統計學習方法》。 讀到第二章,感知機,李航老師由淺入深讓我有了很好的理解,現在自己總結一下思路。 正文:  感知機用於二分類問題,由淺開始:假定我們有一個平面上存在許許多多的藍色點和紅色點,並且假設存在一條直線可以將藍紅

深度學習影象識別課程keras實現CNN系列:9bottleneck特徵生成

一、bottleneck特徵說明 將所有影象穿過(VGG16去掉最後全連線層)得到輸出,作為新的輸入。 二、bottleneck特徵提取程式碼 1、載入預處理影象庫 from keras.applications.vgg16 import preprocess

第十週專案1二叉樹演算法驗證

/* Copyright (c)2017,煙臺大學計算機與控制工程學院 All rights reserved. 檔名稱:33.cpp 作 者:尚文哲 完成日期:2017年11月9日 問題描述: 執行並重複測試教學內容中涉及的演算法。改

深度學習影象識別課程tensorflow實現CNN系列:1概念介紹

1、tensorflow卷積層 tensorflow提供了2個函式建立卷積層:tf.nn.conv2d()和tf.nn.bias_add() k_output = 64 image_width = 10 image_height = 10 color_channels

java設計模式模式Creational Pattern建造模式Builder Pattern

part main ons rod over res {} retrieve [] 1 package com.tn.pattern; 2 3 public class Client { 4 public static void main(String[

Exchange腳本分享之一Exchange Environment Report

exchange environment report這個腳本Exchange管理員應該都不會陌生,通過這個腳本,可以快速了解當前Exchange的基本環境,並將以下信息生產一個HTML的報告:操作系統版本Exchange系統版本Exchange服務器數量以及角色Mailbox數量 DAG數量及成員 數據庫承

Kafka踩坑系列之一消費者拉不出數據

dex -c 通知 還得 gin div 消費 發現 拉取 一、Bug背景 因業務需要,我們部署了兩個Kafka集群。Kafka集群A的版本號為:0.11.0.1,Kafka集群B的版本號為0.9.0.1。 因兩個Kafka集群的版本號不一致,嘗試了

Eclipse中使用Git之一把遠程倉庫的項目,clone到eclipse裏面

margin 提交 reference mark 們的 sha url地址 png fig 【Eclipse中使用Git之一】把遠程倉庫的項目,clone到eclipse裏面

三部曲之後端介面篇SpringBoot+上線

本系列分為三篇: 建站三部曲之後端介面篇(SpringBoot+上線) 建站三部曲之前端顯示篇(React+上線) 建站三部曲之移動端篇(Android) 零、前言 本系列為了總結一下手上的知識,致敬我的2018 本篇的重點在於:搭建一個後端的url介面服務,並執行到伺服器上

樹狀陣列學習B視訊筆記

樹狀陣列 1、樹狀陣列是什麼     樹狀陣列是一個查詢和修改複雜度都為log(n)的資料結構。主要用於查詢任意兩位之間的所有元素之和。但是每次只能修改一個元素的值。 2、樹狀陣列幹什麼用的  

Eclipse中使用Git之一把遠端倉庫的專案,clone到eclipse裡面

最新版的Eclipse上已經集成了Git外掛。所以在Eclipse中可以很方便的使用Git的功能。 在使用Git功能之前,需要先進行下簡單的設定。 設定一:設定我們的使用者名稱和郵箱。 進入>&

APACHE MINA2.0開發之一搭建APACHE MINA框架並實現SERVER與CLIENT端的簡單訊息傳遞!

Hibernate系列學習階段到此結束了,那麼緊接著進入Apache Mina的開發學習,很多童鞋在微薄和QQ中疑問Himi為什麼突然脫離遊戲開發了,嘿嘿,其實可能更多的童鞋已經看出來了,Himi在偏向伺服器Server端開發了,Hibernate、MySQL等都是為了Server端Mina開發而做的

REACT NATIVE 系列教程之一觸控事件的兩種形式與四種TOUCHABLE元件詳解

本文是RN(React Native)系列教程第一篇,當然也要給自己的群做個廣告:  React Native @Himi :126100395  剛建立的群,歡迎一起學習、討論、進步。本文主要講解兩點:1.   PanResponder:觸控事件,用以獲取使用者手指所在螢幕的座標(x,y)或觸發、或滑動、或