2021年之后CentOS8将不会再获得官方支持,如果你打算继续用centos的话建议用7,7可以用到2024年,或者改其他Linux发行版。
此文是我看了不少文章,结合自己的实际操作,重新编辑的,可能不太适合外贸业务和跨境电商的朋友们,放在这里一来是记录下来,二来自己的兴趣爱好就是有空就折腾,但本人并非程序猿,专业人士请绕道。
首先需要购买VPS(云主机的一种,非托管),然后通过Linux的CentOS 8.x系统,部署web服务器OpenLiteSpeed+php+/mysql/mariadb来搭建WordPress网站。
步骤一: 购买VPS或云服务器
VPS和云服务器,国内国外都有,国外更多,如果你的业务在国内,最好购买国内的,但是国内建站要备案,如果真的想用这种方式搭建网站做外贸和跨境电商的同志们请购买国外的,都是为了网站开启的速度,不是企业级别的差别也不大,要企业级别的直接上亚马逊AWS或者微软的Azure,当然做国内业务的阿里腾讯华为也不错。
国内的云服务器:
国外的VPS或云服务器就多了:
- Linode
- Vultr
- DigitalOcean – 这个前几年被国人薅羊毛薅得太严重,现在注册都很难,2020年我注册时需要人脸验证身份,估计国人也没多少人用了,因为在国内也很慢,不过在国外却发展的很快,似乎超过了Linode,最近共享主机的新秀Chemicloud有些地区都是使用DigitalOcean的机器
- Banwagonhost – 国内称搬瓦工,因为提供CN2 GIA线路在国内访问非常快,被国人群起而购之,现在价格是与日俱增,至于速度现在如何不知道。
今天就是用的Linode为例子来完成建站工作。
- 具体怎么购买就不详细说了,请根据你的需求,然后挑选一家按照指引购买。
- 购买成功后,需要一小段时间系统给你创建系统,正常来讲,完成之后会发邮件通知你并带有vps的用户和密码以及公网IP地址,请保存好。
- 登录服务商后台,后台按需要设置好,可通过后台的服务器控制台(console)输入用户名密码进入命令行窗口,也可以通过Putty,Xshell等SSH软件接入命令窗口。
接下来更改密码,如果你觉得有必要,在命令行窗口输入(不含#):
passwd
系统会提示更改密码,需要输入两次,输入的时候什么也看不到别以为键盘没用。改好后记住密码,如果用的SSH软件,记得更改登陆密码。
步骤二:CentOS 8.x升级并开启BBR加速(可选)
BBR加速
BBR是google出品的一款宽带堵塞控制算法,具体原理我也不懂,真正目的就是使主机宽带尽可能地跑满,可降低延迟以及有效地防止一定的丢包情况,总之安装了多少有些帮助。国内还有各种锐速什么的改版我就不多说了,可以查找看看。
1. 开始升级系统,centos使用dnf软件管理包,而不是yum,性能更优,支持模块等优点,当然yum还是可以用的,Centos8这一步请慎重,有可能会导致主机无法重启:
dnf update
这步如标题你不升级也可以,输入以下命令,期间需要输入以下Y确认,然后让系统自己完成。
2. 先查询以下vps主机的内核版本,比较低的版本是不支持BBR的,需要升级。
[root@centos8-Qingsong ~]# uname -r
4.18.0-193.14.2.el8_2.x86_64
我的系统内核4.18.0-193.14.2.el8_2.x86_64,可以直接开启BBR,比较新的系统内核一般都支持BBR加速的。
3. 开启BBR
vim /etc/sysctl.conf
# 按i,然后在文件末尾添加以下两行内容,内容前面不要加 ‘#’号
net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr
然后按:wq保存退出。
4. 验证BBR是否成功开启
先加载系统参数看看是否有我们刚刚添加的两行,如果有,说明配置没问题,
sysctl -p
然后输入#后面的两行命令查看BBR是否已经开启,
[root@centos8-Qingsong ~]# sysctl net.ipv4.tcp_available_congestion_control
net.ipv4.tcp_available_congestion_control = reno cubic bbr
[root@centos8-Qingsong ~]# lsmod | grep bbr
tcp_bbr 20480 1
如果返回以上红色内容则代表开启成功。
安装防火墙firewall
1. 以下命令分别是安装,启动,以及启用防火墙服务
dnf -y install firewalld firewall-config
systemctl start firewalld.service
systemctl enable firewalld.service
2. 配置防火墙,允许http和https协议,重启防火墙,之后要用
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
3. 开启常用的端口,比如http协议的网页默认端口80,之后要用
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent #SSL网页加密传输端口
firewall-cmd --reload
步骤三:安装web服务器OpenLiteSpeed
LiteSpeed是全球第四的web服务器,OpenLiteSpeed是其开源版本即免费版本,排第一的是Apache;然后是Nginx(好像这个现在第一,来自战斗民族,轻量,支持反向代理);第三的是微软的IIS;Litespeed排第四和IIS差不多市场份额,在国内应该很少用,也分付费和免费,但是根据一致测评,其性能比Apache和Nginx都更优,OpenLiteSpeed是他们的开源版本,因为免费版,所以我试装一下看效果(使用三个月后再回来说一声真的不错,稳定流畅)。
1. 首先,添加openliteSpeed存储库并从库中安装OpenLiteSpeed Web服务器,使用以下命令为CentOS 8添加OpenLiteSpeed库。
rpm -Uvh http://rpms.litespeedtech.com/centos/litespeed-repo-1.1-1.el8.noarch.rpm
2. 查看CentOS系统中包含的所有库
[root@centos8-Qingsong ~]# dnf repolist
repo id repo name
appstream CentOS Linux 8 - AppStream
baseos CentOS Linux 8 - BaseOS
extras CentOS Linux 8 - Extras
litespeed LiteSpeed Tech Repository for CentOS 8 - x86_64
litespeed-update LiteSpeed Tech Update Repository for CentOS 8 - x86_64
以上可见Litespeed库已经包含在系统中了,我们还需要配置一下EPEL存储库,以便启用存储库,请运行以下命令
dnf -y install epel-release
3. 安装Openlitespeed
dnf install openlitespeed
过程中需要输入几次Y确认,一次是确认安装大小,然后好像是验证签名之类的东西了,总之都是Y。
4. 启动并启用LiteSpeed
systemctl start lsws
systemctl enable lsws
查看运行状态
systemctl status lsws
● lshttpd.service - OpenLiteSpeed HTTP Server
Loaded: loaded (/usr/lib/systemd/system/lshttpd.service; enabled; vendor preset: disabled)
Active: active (running) since Tue 2021-02-02 13:39:35 UTC; 1min 24s ago
Main PID: 66202 (litespeed)
CGroup: /system.slice/lshttpd.service
├─66202 openlitespeed (lshttpd - main)
├─66213 openlitespeed (lscgid)
├─66228 openlitespeed (lshttpd - #01)
└─66229 openlitespeed (lshttpd - #02)
Feb 02 13:39:33 centos8-Qingsongsail systemd[1]: Starting OpenLiteSpeed HTTP Server...
Feb 02 13:39:33 centos8-Qingsongsail lswsctrl[66179]: [OK] litespeed: pid=66202.
Feb 02 13:39:35 centos8-Qingsongsail systemd[1]: Started OpenLiteSpeed HTTP Server.
绿色Active表示已经启动成功,正在运行中。
步骤四:安装lsphp8(LiteSpeed专用的PHP)
安装好LiteSpeed服务器之后,我们开始安装最新的PHP8,这是安装Wordpress必不可少的一步,因为wordpress就是用php语言编写的,应用于LiteSpeed的php版本叫做lsphp,目前PHP最新版是8.0,不过好像这个版本还有一些不完善,还有一些扩展也没有,但是能用,我好几台机器都试用过php8,如果你碰到什么问题还是用7.4吧。
1. 本来需要配置一下EPEL存储库,但之前已经做过了,所以直接安装lsphp80
dnf -y install lsphp80
2. 安装php扩展即extensions
dnf -y install lsphp80-mysqlnd lsphp80-gd lsphp80-process lsphp80-mbstring lsphp80-xml lsphp80-pdo lsphp80-imap lsphp80-soap lsphp80-bcmath lsphp80-zip
3. 通过以下命令检查php sock文件来查看php是否运行正常
[root@centos8-Qingsong ~]# netstat -pl | grep lsphp (netstat命令不存在的话,请安装此工具)
[root@centos8-Qingsong ~]# dnf install -y net-tools
unix 2 [ ACC ] STREAM LISTENING 168627 66228/openlitespeed /tmp/lshttpd/lsphp.sock
返回数据说明一切运行正常,另外可以查看一下php的版本
[root@centos8-Qingsong ~]# cd /usr/local/lsws/lsphp80/bin
(lsphp安装在此处)
[root@centos8-Qingsongsail bin]# ./lsphp -v
PHP 8.0.0 (litespeed) (built: Nov 24 2020 17:04:03)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v4.0.0-dev, Copyright (c) Zend Technologies
步骤五:安装数据库MariaDB 10.5
MariaDB和mysql同根同源,因为mysql被人收购,原创始人担心mysql以后会收费,他们有从mysql另开宜分治mariadb开源供大噶免费使用,实际情况据说很多方面还优于mysql。
1. 添加MariaDB官方yum库
tee /etc/yum.repos.d/mariadb.repo<<EOF
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.5/centos8-amd64
module_hotfixes=1
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
EOF
或者通过 vim 按 i 把以上第二行起加入 /etc/yum.repos.d/mariadb.repo 中
清除并更新yum缓存,以检查mariadb库是否添加成功
yum clean all
yum makecache
2. 安装MariaDB
dnf install mariadb mariadb-server
和安装php一样一路Y过去。
3. 启动并启用Mariadb
systemctl start mariadb
systemctl enable mariadb
systemctl status mariadb
同样绿色active表示正在运行,如果需要给其他vps主机或者云主机连接此数据库,你需要打开mariadb的端口,默认3306,如何打开参见前文安装防火墙步骤。
4. MariaDB初始配置
mysql_secure_installation
具体操作选项如下,请安装你自己的需求或参考我的配置
Switch to unix_socket authentication [Y/n] Y
Enabled successfully!
Reloading privilege tables..
... Success!
You already have your root account protected, so you can safely answer 'n'.
Change the root password? [Y/n] Y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] y
... Success!
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] n
... skipping.
By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] y
... Success!
Cleaning up...
All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!
5. 创建数据库,先登录进Mariadb的root用户(管理用户), -u 表示user,后面接用户名,-p表示password,但是这里不需要密码,输入以下命令,稍后会提示你输入密码,密码是楼上初始配置你自己添加的密码。
mysql -u root -p
输入密码后按照以下命令格式输入自己需要的数据库名字,用户名,以及密码,记得每一行代码后面要到英文格式的;
CREATE DATABASE database-name;
CREATE USER database-username@localhost IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON database-name.* TO database-username@localhost;
FLUSH PRIVILEGES;
替换以上红色字段成你自己的,并记录好,之后安装wordpress需要用到,然后输入exit或者quite退出数据库。
假如数据库不再需要或者想换名字,删除原来的,用以下命令
DROP DATABASE Database_name;
删除数据库,同时也要删除用户名:
DROP USER user@localhost;
FLUSH PRIVILEGES;
重启mariadb服务:
systemctl restart mariadb
步骤六:配置OpenLiteSpeed
OpenLiteSpeed可以通过图形操作后台来配置,也就是说这个服务器有个后台可登录进行设置,不过你需要打开后台管理页面的端口,默认7080, 设置后记得关闭此端口。
创建控制台console用户密码
1. 打开端口7080
firewall-cmd --add-port=7080/tcp --permanent #打开端口
firewall-cmd --reload
firewall-cmd --remove-port=7080/tcp --permanent #关闭端口
firewall-cmd --reload
2. 给后台管理创建一个用户和密码并记录好
需要先进入misc文件夹:
cd /usr/local/lsws/admin/misc
sh admpass.sh
3. 打开浏览器,输入以下地址,登录LiteSpeed后台管理页面,如下图.
你的主机IP加端口
http://yourIP:7080/
配置PHP
1. 输入密码登陆进去,第一步需要连接上lsphp80(如果你用的是7.4版本,就都是lsphp74),默认litespeed连接的并非此版本。点击OpenLiteSpeed控制台面板左侧Server Configure,然后点击External App,看到右侧一个+吧,点击添加新的APP。
然后在Type这里选择’LiteSpeed SAPI App‘,同样在右侧点击next,
接下来的就是要配置以下新建的APP,请按照以下信息填写,这些以后可以再调。
Name: lsphp80 (名称可以自己随便选个容易识别的)
Address: uds://tmp/lshttpd/lsphp.sock
Notes: lsphp80 for OpenLiteSpeed
Max Connections: 35
Initial Request Timeout (secs): 60
Retry Timeout (secs): 0
Command: $SERVER_ROOT/lsphp80/bin/lsphp
添加好后,点击保存按钮,一个小小的磁盘符号,应该在右上角,之后你应该在External App这一栏里看到2个APP,一个是初始默认的,一个是你刚刚添加的。
2. 接下来为你的主机选择php版本,也就是刚刚添加的lsphp80,同样是在Server Configure里面,在External App的旁边那个‘Script Handler’,点击进去,然后点击右边有个编辑的图标edit,在接下来的配置中看到’Handler Name’吧,这里选择lsphp80(也就是你刚刚自己设置的名称),同样保存。
现在主机就已经启用了最新安装lsphp80了。
配置监听端口(Listener)
从Litespeed控制后台左侧点击Listeners,里面有一条默认的(Default)配置,点击右边查看按钮,你会看到里面有一条Port即端口是8088,
你需要做得就是更改端口为http默认的80,点击右上角编辑按钮,改好端口,其他不需要改,保存。
然后在页面的右上角看到一个绿色的回转箭头吗,下图红框那个,点击它重启OpenLiteSpeed服务器。
现在你可以检验一下这些配置是否都成功没有,很简单,直接在你的浏览器中输入你的主机IP,如果打开如下图,LiteSpeed的欢迎页面,这就说明配置都正确。
配置虚拟主机(Virtual Host)
虚拟主机是在同一台机器搭建属于不同域名或者基于不同 IP 的多个网站服务的技术(来自度娘的说明)。对滴,你在一台云服务器可以绑定不同的域名,搭建不同网站,就看你的服务器够不够牛掰。
1. 还是从控制台左侧开始,点击Virtual Hosts,初始安装已经有一个Example的虚拟主机,你可以更改Example,也可以另外添加,我建议另外添加,点击右侧+号创建按钮创建新虚拟主机,
2. 配置新添加的Virtual Host,绑定你的域名,
- 提醒:配置virtual host之前,请记得域名已经解析到了主机,可以看这里了解如何解析域名。
比如我这里使用一个叫http://chimawood.com的域名,我给新的虚拟主机取名就叫http://chimawood.com,新虚拟机需要的基本配置如下:
Virtual Host Name: chimawood.com (可以以$VH_NAME的形式通用,如下)
Virtual Host Root: $SERVER_ROOT/$VH_NAME (可以设置为具体路径,比如/var/www/xxx)
Config File: $SERVER_ROOT/conf/vhosts/$VH_NAME/vhconf.conf
Follow Symbolic Link: Yes
Enable Scripts/ExtApps: Yes
Restrained: Yes
ExtApp Set UID Mode: Server UID
填好后保存,但会返回一个错误,因为配置路径(Config File)还不存在,后台会提醒你按照你填写的路径创建一个,直接点击CLICK TO CREATE,然后提示创建成功,再次保存就可以了。
** 不过Virtual Host Root同样是不存在的,你需要进入OpenLiteSpeed根目录($SERVER_ROOT)路径: /usr/local/lsws中,可以通过FTP进入创建虚拟主机文件夹名为$VH_NAME:http://chimawood.com(你自己怎么设置的创建什么名字)。或者直接通过SSH创建:
mkdir /usr/local/lsws/chimawood.com
3. 接下来给新创建的虚拟主机配置其他的选项,Virtual Hosts >选择虚拟主机(http://chimawood.com) > General,修改以下选项:
Document Root: $VH_ROOT/html/
(这个就是网站文件根目录了,$VH_ROOT代指楼上的Virtual Host Root路径)
Domain Name: chimawood.com
Domain Aliases: www.chimawood.com (可留空,看你的需求)
Enable GZIP Compression: Yes
Enable IP Geolocation: no
保存,这里的Document Root同样要重新创建:
mkdir /usr/local/lsws/chimawood.com/html
继续修改Virtual Hosts > 选择虚拟主机(http://chimawood.com) > General > Index Files:
Use Server Index Files: No
Index Files: index.php,index.html
Auto Index: No
保存,继续修改Virtual Hosts > 选择虚拟主机(http://chimawood.com) > Log > Virtual Host Log:
Use Server’s Log: Yes
File Name: $VH_ROOT/logs/error.log
Log Level: ERROR
Rolling Size (bytes): 10M
保存,这里的log日志文件夹也是要重新建立的:
mkdir /usr/local/lsws/chimawood.com/logs
继续修改Virtual Hosts > 选择虚拟主机(http://chimawood.com) > Log > Access Log:
Log Control: Own Log File
File Name: $VH_ROOT/logs/access.log
Piped Logger: Not Set
Log Format: Not Set
Log Headers: Not Set
Rolling Size (bytes): 10M
Keep Days: 30
Bytes log: Not Set
Compress Archive: Yes
保存,这里的继续Virtual Hosts > 选择虚拟主机(http://chimawood.com) > Security,此处主要修改一项:
Allowed List: *
保存,继续Virtual Hosts > 选择虚拟主机(http://chimawood.com) > Rewrite:
Enable Rewrite: Yes
Auto Load from .htaccess: Yes
Log Level: Not Set
保存,差不多就配置完成了,你也可以参考自带的Example添加配置,把某些内容修改成自己的。
4. 映射虚拟主机到端口,我们在前面已经配置好了端口,只要映射主机就行了Listeners > 选择Default > General > Virtual Host Mappings,右侧添加Virtual Host Mapping,配置:
Virtual Host: chemicloud.com
Domains: chemicloud.com (可以添加多个子域名,假如主机只有一个域名的话,也可以只填写*)
保存。现在建立一个文本文件,内容可以是helloworld, welcome to http://chimawood.com,随便你,然后改名包括后缀为index.html,用FTP软件,拖入你的网站根目录文件夹中(如下):
/usr/local/lsws/chimawood.com/html
之后,重启OpenLiteSpeed服务,对,就是那个绿色的回旋箭头。然后到Dashboard看看是否所有的设置都是正确的,如果都配置正确,如下图,都是绿色的。
在你的浏览器中输入http://yourdomain.com,再次验证你的配置,如果返回的内容是你创建的index.html,那成功了,接下来就可以安装Wordpress了。
如上图所示,新绑定的域名已经生效
步骤七:下载安装WordPress
1. 通过SSH进入你的虚拟主机根目录,准备下载Wordpress
cd /usr/local/lsws/chimawood.com
dnf -y install wget unzip (你可能需要安装这两个软件)
wget http://wordpress.org/latest.zip (下载最新版本的Wordpress)
2. 解压Wordpress,输入以下代码后,会解压一个wordpress在当前文件
unzip -q latest.zip
3. 复制Wordpress到网站根目录,也是wordpress根目录
cp -rf wordpress/* html 或者 cp -rf wordpress html
效果都一样,只是前者是把wordpress文件夹中的文件复制进html,后者是直接用wordpress替换html
4. 给文件夹设置权限:
chown -R nobody:nobody /usr/local/lsws/chimawood.com/html
chmod -R 755 /usr/local/lsws/chimawood.com/html
重启Litespeed服务,可以通过管理控制台的绿色回旋箭头,也可以直接在SSH
systemctl restart lsws
5. 安装Wordpress,在你的浏览器输入你的域名,现在应该是wordpress的安装向导,一开始就是叫你选择语言,你是要英文选英文,中文选中文。
选择好后下一步,会提示你连接数据库,继续下一步来填写你创建的数据库信息,前文已经建立好了数据库,包括数据库名,用户名,用户密码.
提交后,如果没问题会提示没问题,叫你安装wordpress,继续,设置网站标题以及wordpress后台的登录用户名,邮箱,密码,设置好后保存,wordpress就开始安装了
安装好后,点击登录页面自动跳转后台登陆页面,登录进去看看,好了尽情享受wordpress吧。
步骤八:设置WordPress
这个请参考
了解对Wordpress的详细设置,从文章的第五步开始,就不多说了。
小结Conclusion
整个过程和搭建LAMP或者LNMP差不多,至于国内流行的宝塔面板支不支持我就不知道了,不过国外有一款刚出不久的面板主要是面对OpenLiteSpeed的,CyberPanel,提供免费版,不过有限制。其实搭建好系统和web服务器,当然也是可以安装其他CMS系统的,例如magento,opencart等等。我要声明一下:VPS我用的少,裸机建站这方面我也是初学者,自己学习建独立站的时候,了解主机接触到了云主机VPS这些东西,于是研磨(研究琢磨)了一番,顺便把这个过程记录下来,怕丢了,做外贸的朋友们谨慎使用。
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/209867.html