网站搭建总结
2020-06-30
先把总结放在前头:最后成功方案是使用宝塔面板一套弄下来的,安装的LNMP环境。
由于最近才开始学linux,对于很多东西都极其的不熟悉。基本上每一个步骤都要上网去查,导致一开始进展很慢。
以下是目录:
服务器购买与初始化设置
首先服务器买的是什鸟科技的,相当的便宜,而且网站ui相对简洁明了,对于新手还是很友好的。
然后是服务器初步设置,这里我是依照这这一个网站进行初步设置的,主要也就是添加sudo用户以及开启http,https服务等
https://www.cnblogs.com/jojo-feed/p/10169769.html
这里贴它开头的一段内容:
新的 Centos 服务器初始化配置
当你初次创建新的 Centos 服务器的时候, Centos 默认的配置安全性和可用性上会存在一点缺陷(运维人员往往会有初始化的脚本)。为了增强服务器的安全性和可用性,有些配置你应该尽快地完成。 这篇文章大致从这方面去讲 – 账号安全 – ssh 安全 – 防火墙 – 交换区文件(swap file)
用户密码安全
关于 root 用户
root 用户是在linux环境下拥有非凡权限的的超级管理员。因为root用户的权限很高,所以在日常使用中不建议使用。这是因为 root 用户能做出一些非常有破坏性的行为,甚至是事故。(比如是臭名昭彰的rm -rf /
,或者你会对这篇文章《Linux 中如何避免 rm -rf /*》感兴趣) 下一步,我们为了日常工作会设置一个权限较小的替代用户。我们会教你当你需要更大的权限的时候怎样获取。
创建一个新的用户
这个例子会创建一个用户叫 demo,你可以替换成你喜欢的用户名:
adduser demo
下一步,为新的用户分配密码(再次说明,用你刚创建的用户替换demo)
passwd demo
输入一个强密码,然后再重复输入以完成验证。
用户权限
现在,我们已经有了一个普通权限的用户。然而我们有时需要执行一些管理员任务。 为了避免要注销普通用户,然后用 root 用户重新登录,Linux 中有个优雅的解决方式,系统授权特定用户或用户组作为 root 或他用户执行某些(或所有)命令系统。在这个用户组的用户在每条命令前加个单词 sudo,就可以用管理员权限执行命令。
安装 sudo
有些版本会没有 sudo
命令的,所以首先要安装 sudo
yum install -y sudo
属于wheel
用户组的用户可以使用sudo
命令。 在 RedHat 系只需我们需要添加用户到那个wheel
组。属于wheel
组的用户可以使用sudo
命令。 以root
的身份执行以下命令,会将新用户添加到wheel
组中(将 demo 替换成你的新用户)
gpasswd -a demo wheel
之后还有一个开启防火墙的命令需要在新主机上操作,具体如下:
防火墙能控制端口、应用程序的流量,让服务器更加安全。在 Centos 7 中引进 firewalld 作为 iptables 的前端。firewalld 对比 iptables,有区域(zones)划分, 更简单,能动态配置等特点。 下面主要介绍杂在新服务器中 Firewalld 的基本配置 启动
sudo systemctl start firewalld
设置默认区域
sudo firewall-cmd --set-default-zone=public
查看激活区域
sudo firewall-cmd --get-active-zones
如果激活区域中没有public
的话,可能是没有为public
区域设置接口,你需要用id addr
查看网卡接口(其中 lo 是本地回环接口),再使用设置
sudo firewall-cmd --permanent --zone=public --change-interface=eth0
给防火墙添加允许通过的服务
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=ssh
查看更多可以添加的服务
sudo firewall-cmd --get-services
查看你的 firewalld 信息
sudo firewall-cmd --list-all
重载配置
sudo firewall-cmd --reload
开机启动
sudo systemctl enable firewalld
服务器环境安装
LNMP环境安装
首先LNMP环境的全称是Linux,Nginx,Mysql/Mariadb, php。除此之外还有LAMP,与LNMP的区别在于将Nginx替换为了Apache。
这四个东西的功能分别对应着服务器系统,网络服务器软件,数据库和hypertext预处理器。是一个网站服务器必要的运作环境。
我一开始想使用命令进行安装,但是出现了问题。最主要的一个是:
no package xxx available
nothing to do
这个问题困扰了我很久。我一开始的判断是yum源有问题,就进行了yum源更新:
yum update
以及更换yum源至阿里源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
但是问题都没有得到解决,所以我决定进行换位思考,看看有没有其他方法
最终我选择了宝塔面板。在一开始的时候我实际上尝试了宝塔面板的自动安装,但是安装过后没有在正常的文件目录里找到,所以之后对这个方案有所搁置。而现在我换回宝塔面板这个方向后,就决定尝试直接从宝塔里面寻找答案,完全依靠宝塔来操作,而非半命令半宝来进行安装。
我找到的宝塔安装教程:
https://www.jianshu.com/p/293c94adc11d
利用宝塔一键安装LNMP整个过程就变得异常简单。虽然命令安装时才坑能够更能帮助我学习,但是有些事情还是挑简单的做为好,省的浪费不必要的时间。
之后的话就可以开始数据库与wordoress安装与设置了
数据库设置
在安装wordpress之前,需要先启动mysql,并创建一个数据库,并将数据库权限给予一个用户(旧/新)。
在宝塔里面,这一步操作如下(这里借用教程里的内容https://www.jianshu.com/p/293c94adc11d)
在宝塔界面找到网站,点击添加站点,会出现以下界面:
域名根据实际情况填写,如果是国内空间,则域名必须备案,国外空间则不需要,一般写一个顶级域名和一个www二级域名即可,比如www.pandacui.com,pandacui.com,搭建阶段可以也用云服务器的公网IP代替。
FTP可以选择不创建,后面可以用宝塔面板的文件管理。
数据库选择MySQL,会提示输入用户名名称和密码,自动建立与用户名同名的数据库
PHP版本选择你安装的PHP版本,我安装的是PHP7.2,建议安装版本不低于7。
点击提交,会提示站点创建成功,并显示数据库用户名和密码,这里不用刻意去记录,可以在宝塔的数据库管理界面再次查看。
站点创建完成之后,可以通过公网IP或你绑定的域名测试一下,在浏览器输入公网IP或你绑定的域名即可,如果成功,会显示以下页面:
以上是利用宝塔的方式,同时这一步还可以用命令来完成(这里从教程里进行摘要https://www.liquidweb.com/kb/how-to-install-wordpress-on-centos-7/):
mysql -u root -p
CREATE DATABASE wordpress;
CREATE USER adminuser@localhost IDENTIFIED BY 'password';
#注意这里的adminuser和password需要自定义
GRANT ALL PRIVILEGES ON wordpress.* TO adminuser@localhost IDENTIFIED BY 'password';
#这里的adminuser与password与上一步的保持一致。
FLUSH PRIVILEGES;
exit
wordpress安装
wordpress的安装
宝塔的安装较为简单。从wordpress.org官网上下载它提供的.tar安装包到自己的电脑里,然后从宝塔上传到刚在建立的目录里
/www/wwwroot/
上传后将里面的自带的欢迎index.html和4040.html删掉,然后将tar包解压,放进带有.htacceess的目录里,将解压包和解压出来的空wordpress目录删掉。
之后就上到在浏览器里输入自己的已经注册好的域名,查看wordpress是否安装成功。如果出现一个选语言的wordpress见面,便说明安装成功。
wordpress设置
进入wordpress设置界面后,只需要将自己的之前设置好的数据库名称,数据库用户和其密码输入进去即可,然后会设定wordpress admin的账户与密码,最后成功进入wordpress dashboard。
成功进入网站
如果看见了wordpress的管理员后台的话,就代表网站完成配置了