前言
本来准备接着写“小白网络学习系列”的,不过看了下,似乎反响不行,所以考虑放弃,估计是因为涉及到的大多是理论知识吧。
这样的话,那就换个思路,重新写一篇,这篇文章就纯粹是实际操作性质的,就从购买VPS到搭建一个完整的论坛,来一个整个的过程,这样的话应该有人看了吧?
看下这篇文章的效果吧,如果效果不错,那今后就继续写一些实际操作的网站架设或其他东西的实操性文章,若没效果。。。那我就放弃吧……
一、名词解析
抱歉,依然要弄个名词解析,因为有些东西不说清楚,可能后面的内容看不太明白啊!
1. VPS
VPS是一台在独立的服务器中,通过虚拟技术虚拟出来的独立操作系统,与实际使用没多大差别,可以看做是一台虚拟机。
目前站长较为喜欢使用VPS进行网站架设或是其他的服务架设,由于其便宜的价格与完全自主的可操控性,得到了广大站长的青睐。
2. 域名
域名就是平常说的网址,格式为:
www.sexinsex.net或sexinsex.net或bbs.sexinsex.net等,是通过一串特定的英文+数字+"-"、"."符号所组成的帮助记忆的网站地址。
域名所对应的是IP地址,每一个域名对应一个IP地址,IP地址可以相同,也可以不相同。
3. IP地址
IP地址是网络设备的独立地址,每一台网络设备都有一个或多个独立的IP地址,IP地址分为公网和内网,内网常见的有192.168.xxx.xxx、10.xxx.xxx.xxx这样的,在同一网络下,IP地址不能重复。
4. DNS
DNS主要用作于域名与IP地址的解析操作,也就是将IP地址与网站域名进行关联,让计算机能够知道域名对应的是哪个IP地址。
5. 端口
如果说IP地址是网络设备的门牌号,那么端口就是网络设备的大门,端口号从1到65535,部分端口号是特定服务的,比如80端口代表WEB服务,21端口代表FTP服务,只有网络设备开放了某一端口,用户才能通过这个端口访问到网络设备,若网络设备不开放任何一个端口,那将无法通过其他设备连接到这台网络设备中。
6. 论坛
论坛也叫BBS,属于话题讨论类型的网站程序,访客可以在论坛中讨论话题或发表其他内容,咱们的色中色就是一个论坛,目前国内用户最熟悉的论坛是Discuz,而本文也将以此程序作为讲解。
7. PHP
PHP是一种编程语言,通过特定的语法将代码编写出来,并完成程序的运行,Discuz论坛就是使用的PHP语言编写。
8. MySQL
MySQL是一款数据库程序,主要功能就是用来存储数据,在本文中,是用作存储论坛中的动态内容(文章、回帖、用户信息等)。
9. Nginx
Nginx是一款Web程序,主要功能就是在访客访问服务器时,将访问的内容通过解析后,输出为HTML代码,让访客的浏览器对HTML代码进行解析,得到最终的浏览效果,说白了就是一个软件,没它就无法正常的让用户访问自己的网站。
同类软件有:Apache、Caddy等。
10. SSH
SSH是Linux系统的远程管理协议,默认使用22端口,使用命令行模式进行管理,与Windows的界面操作有很大区别,咱们使用VPS的时候,应用最多的就是SSH,没它几乎干不了任何事。
11. CentOS
CentOS是Linux的一个分支,国内用户群基数大,管理等较为方便,教程众多,遇到问题容易得到很好的解决,本文以CentOS 7作为演示。
二、VPS购买
关于VPS的购买,这里就不多说了,可以看我之前写的文章,购买搬瓦工的VPS(
thread-7861133-1-1.html,文章第六条)
咱们在购买完成后,给VPS安装CentOS 7系统,并通过SSH连接上VPS中。(相关内容都可以在
thread-7861133-1-1.html中找到)
三、域名购买、解析
域名购买需要注意,与VPS购买时一样,若需要用网站做某些法律所不允许的事情,比如成人站等,请一定要记得在国外服务商购买,且一定要购买Whois隐藏服务。
这里推荐
NameSilo购买,价格便宜,且Whois隐藏服务是免费的。
首先打开
NameSilo,并注册一个账号,注册方式就是点击"Create New Account",然后根据项目填写就行。
注册时请尽量使用真实信息,避免后期被查到引起封号或停止解析,注册完成登录邮箱验证账号,并登录。
在首页点击"register"按钮,并在下方的"multiple domain SEARCH"方框中,以每行一个的方式,输入要注册的域名,不用输入后缀,并点击右侧的"SUBMIT"按钮。
提交后,会出现搜索结果,其中绿色的是代表可以注册的,并附有注册价格,单位是美元。
域名注册原则是首选"com",其次"net",至于其他的,除非极为优秀或具有特殊含义,否则一般不建议,这里选择"niubisex"进行注册,注册的后缀为"com"(并非真实注册,仅仅演示而已,若需要这个域名的可以自行注册)。
在"niubisex"这个域名这一行,将".com"这里打钩,并点击"REGISTER CHECKED DOMAINS"按钮。
提交后,会要求选择注册的年限以及附加服务等,年限根据自己的需求进行选择,这里一定要记住,在"Privacy Setting"这里选择"WHOIS Privacy",这个就是隐私保护,"Set all years to"是年限,其他的默认即可,完成后点击"CONTINUE"。
这时会要求选择支付方式,注意到没?是支持支付宝的!不过,如果是做某些不一样的网站,千万别用支付宝哦,建议使用"PayPal"或其他方式,若需要使用支付宝,请先填写支付宝账号,然后在前方打钩,根据指引进行付款就行了。
支付完成后,在
NameSilo的首页右上角,有个"Manage My Domains"的按钮,点击后就可以看到自己的域名列表了。
咱们点击刚才注册的域名,进行域名管理界面(如无法点击,可能暂时没有生效,请稍后再试)。
咱们点击"DNS Records"右侧的"Update"按钮,对域名解析进行配置。
咱们点击上方的"Select the resource record type you want to create",右侧的"A"这个按钮,然后输入配置的域名前缀(HOSTNAME)和指向的IP地址并提交即可。
这里有几个需要注意的地方:
1. 若"HOSTNAME"留空,则代表顶级域名,也就是不包含www的域名,比如:sexinsex.net、baidu.com等
2. www与顶级域名并不是同一个域名,www属于子域名
3. 域名所指向的IP地址是自己VPS的访问IP地址,请查看VPS信息获取
4. TTL选项是指代域名在DNS服务器上的缓存时间,当我们的电脑在访问一个域名的时候,会通过本机设定的DNS服务器去请求域名的解析信息,而这个信息会被缓存在服务器上,而这个值就是代表了缓存时间,当请求在缓存时间内,则再次请求时,将不再通过服务器,而是直接使用缓存的数据进行解析,若超过缓存时间,则会再次请求服务器。
TTL有利有弊,设置时间断,可以在更改解析记录后,最快的刷新解析数据,避免解析出错,但相应的会增加域名解析时间(这里的时间指的是请求DNS服务器解析记录的时间),若设置的长,则在更改解析数据后,相应的就会生效时间缓慢,需要慢慢等待。
这里给个建议,若域名的IP地址经常出现变动,可以相应的减少TTL缓存时间,若IP地址固定不变,请尽量设置的长一点。
四、运行环境搭建
运行环境的搭建,其实就是安装一个Nginx + MySQL + PHP,就是安装这三个软件,至于咱们为什么要安装这三个软件?因为Nginx是Web软件,相对于其他的,我更喜欢Nginx,至于MySQL和PHP,因为Discuz(后面简称DZ)是PHP + MySQL环境,所以也是必装的。
环境的搭建分为两种,一种是手动搭建,一种是自动搭建,手动搭建必须要有一定的实际动手能力,且对于Linux也要有一定的了解,一般不推荐新手进行操作,所以,为了照顾新手,本文选择自动搭建方式。
自动搭建,是指通过一个软件或是脚本等,自动让系统执行命令,进行某些特定软件的安装与配置,避免了繁琐的手动操作。
在Linux系统中,较为出色的自动环境搭建有几个:
OneinStack、
LNMP、
宝塔
其中,OneinStack和LNMP是纯命令行管理方式,而宝塔是具有控制面板的,新手可以使用宝塔,不过我更喜欢使用命令行管理方式的,减少了入侵风险。
1. OneinStack安装
直接依次执行下面的命令就行了
复制内容到剪贴板
代码:
yum -y install wget screen
screen -S oneinstack
wget http://mirrors.linuxeye.com/oneinstack-full.tar.gz
tar xzf oneinstack-full.tar.gz
./oneinstack/install.sh --nginx_option 1 --php_option 7 --phpcache_option 1 --php_extensions imagick,gmagick,memcached,memcache --phpmyadmin --db_option 5 --dbinstallmethod 1 --dbrootpwd www.sexinsex.net --pureftpd --memcached --iptables --reboot
2. LNMP安装
同样的依次执行以下命令
复制内容到剪贴板
代码:
yum -y install wget screen
screen -S lnmp
wget http://soft.vpser.net/lnmp/lnmp1.5.tar.gz -cO lnmp1.5.tar.gz
tar zxf lnmp1.5.tar.gz
cd lnmp1.5
LNMP_Auto="y" DBSelect="9" DB_Root_Password="www.sexinsex.net" InstallInnodb="y" PHPSelect="8" SelectMalloc="2" ./install.sh lnmp
3. 宝塔安装复制内容到剪贴板
代码:
yum -y install wget screen
screen -S bt
wget -O install.sh http://download.bt.cn/install/install_6.0.sh
bash install.sh
以上三种自动安装都可以,其中的第二条命令:screen -S xxxx,这个是相当于进程守护一般的操作,因不可预估的情况,可能会存在安装时SSH断开的情况,这时所有安装操作都会被自动切断,若重新安装,可能会造成不可预估的错误。
为了保证SSH断开也不受影响,所以使用了screen,当SSH意外断开后,重新连接SSH,并执行screen -r xxx,比如oneinstack就是screen -r oneinstack,会自动回到安装进程,并不会中断。
五、网站创建
由于宝塔是自带管理面板的,所以就不再进行说明,这里以OneinStack进行讲解,LNMP请直接访问官网查看说明。
我们在安装完成"OneinStack"后,程序自带了一个网站创建的脚本,咱们可以直接通过这个脚本创建网站,首先进入"OneinStack"安装包目录,也就是下载解压后的目录,若操作前没有进行过目录变更,那一般就是在"/root/oneinstack"中。
复制内容到剪贴板
代码:
cd /root/oneinstack
然后执行命令,并根据提示输入完成创建。
复制内容到剪贴板
代码:
./vhost.sh
创建完成后的网站目录在"/data/wwwroot/xxx"中,其中xxx一般是您的域名。
六、FTP账号创建
要对网站的文件进行管理,其实方式多种多样,FTP、SFTP、SSH都可以,一般我使用的是SFTP或者SSH,不安装FTP服务端,不过介于新手站长的话,FTP更为简单,所以这里就以FTP作为演示,若是按照刚才我给出的安装命令,那么OneinStack是已经默认安装了FTP服务端的,只要执行以下命令,且根据图片提示进行账号创建即可。
复制内容到剪贴板
代码:
/root/oneinstack/pureftpd_vhost.sh
当FTP账号创建完成后,使用任意一款FTP客户端登录到服务器中,并上传文件即可,具体的若不明白,可以自行谷歌。
七、数据库创建
在刚才的环境搭建命令行中,大家是否有映像,其中有一个"www.sexinsex.net"的这样的字符串,这个是我设定的,也就是咱们的数据库管理密码是"www.sexinsex.net",而DZ论坛是需要MySQL数据库的支持,所以咱们在安装论坛之前还需要创建下数据库。
这里以OneinStack进行演示,在浏览器中直接输入"http://ip/phpMyAdmin",其中的IP更换为自己VPS的IP地址,并输入root账户及密码,通过phpmyadmin面板创建一个数据库,具体操作有面板及中文,实在没什么好说的。
八、Discuz安装
到此,最重要的来了,也就是DZ论坛的安装终于来了,首先打开"Discuz"的下载界面:
https://gitee.com/3dming/DiscuzL/attach_files,选择最新版本进行下载,这里需要注意,版本是否最新,请看日期,同时,在版本的选择上,SC代表简体中文,TC代表繁体,而GBK和UTF8,请选择UTF8版本,比如目前最新的是Discuz X3.4 20190104版本,那么咱们就下载"Discuz_X3.4_SC_UTF8【20190104】.zip"。
将压缩包下载到本地后进行解压,并将"upload"目录中的所有内容通过FTP上传到网站的根目录下,在上传时请注意使用二进制方式上传。
然后在浏览器中输入"http://www.niubisex.com/install",其中
www.niubisex.com请自行更改为自己的域名,接下来根据提示一步一步的进行安装就行了,因为是全中文,所以没必要再进行说明与演示了。