LiteSpeed是一款可以替换Apache的企业级Web服务器,具有高性能,低资源占用,安全,易用的特点。它支持直接使用Apache的配置文件,可直接使用.htacess,无需额外配置,兼容Mod_Security。因此避免像Nginx那样需要自己写重写规则的麻烦。
而OpenLiteSpeed是LiteSpeed的开源免费版本,除了保留了LiteSpeed轻量、高性能的特性外,它还加入了非常多的“前沿”技术,例如HTTP3/QUIC/TLS1.3/Brotli等都是默认就支持的,而且LiteSpeed Cache 高性能缓存功能可以大大提升PHP的执行效率。
OpenLiteSpeed提供了一个服务器控制面板,这个控制面板可以让实现在线添加虚拟主机、绑定域名、设置端口号等建站操作,对于想要使用LiteSpeed来建站的朋友是一个非常好的平台。本文我们就来介绍一下如何购买一台Linux的VPS,在CentOS 8.x系统下部署web服务器OpenLiteSpeed+php+/mysql/mariadb并搭建WordPress网站教程。
步骤一: 购买VPS或云服务器
VPS和云服务器,国内国外都有,国外更多,如果你的业务在国内,最好购买国内的,但是国内建站要备案,如果真的想用这种方式搭建网站做外贸和跨境电商的同志们请购买国外的,都是为了网站开启的速度,不是企业级别的差别也不大,要企业级别的直接上亚马逊AWS或者微软的Azure,当然做国内业务的阿里腾讯华为也不错。
国内的云服务器:
如果是用国内云服务器,在搭建的时候,可能要换国内的软件源,国外的可能会出现问题或是下载不了。
国外的VPS或云服务器可选择的商家就太多了,我们推荐常见的几家且口碑比较好的。
-
Hostwinds:这是一家成立于2010年的美国主机商,Hostwinds的各种服务非常好,所以受到国内外用户的青睐。
- 搬瓦工:很多国内用户都比较中意它的网络,近些年来用于上网的用户是非常多的。可选机房非常多,比如我们购买DC6 CT CN2GIA-E,季付49.99美元这个推荐款,可自助更换多达12个机房。
- Contabo:德国老牌商家,性价比高是出了名的,高配置,低价格。
- HostDare:相比搬瓦工,这家其实更适合建站,网络和搬瓦工的一样,只是带宽较小,没那么多上网用户,稳定性更佳。
以上随便举例几家商家,国外的商家太多了,我们无法一一列举。本文就以Hostwinds的VPS为例来演示建站过程。当然具体购买就不说了,感兴趣的朋友可以在本站搜索相关教程。
Hostwinds 最新优惠套餐
CPU | 内存 | 硬盘 | 流量 | 带宽 | 托管型 | 购买 | 非托管型 | 购买 |
---|---|---|---|---|---|---|---|---|
1 核 | 1GB | 30GB | 1TB | 1Gbps | $8.24/月 | 直达 | $4.99/月 | 直达 |
1 核 | 2GB | 50GB | 2TB | 1Gbps | $16.49/月 | 直达 | $9.99/月 | 直达 |
2 核 | 4GB | 75GB | 2TB | 1Gbps | $29.99/月 | 直达 | $18.99/月 | 直达 |
2 核 | 6GB | 100GB | 2TB | 1Gbps | $38.24/月 | 直达 | $28.99/月 | 直达 |
4 核 | 8GB | 150GB | 3TB | 1Gbps | $59.99/月 | 直达 | $38.99月 | 直达 |
4 核 | 12GB | 200GB | 4TB | 1Gbps | $74.99/月 | 直达 | $49.99/月 | 直达 |
6 核 | 16GB | 300GB | 5TB | 1Gbps | $110.24/月 | 直达 | $76.99/月 | 直达 |
8 核 | 32GB | 400GB | 6TB | 1Gbps | $168.74/月 | 直达 | $124.99/月 | 直达 |
12 核 | 64GB | 500GB | 8TB | 1Gbps | $274.49/月 | 直达 | $214.99/月 | 直达 |
16 核 | 96GB | 750GB | 9TB | 1Gbps | $395.24/月 | 直达 | $328.99/月 | 直达 |
VPS在购买好后,我们通过Putty,Xshell等SSH软件登录。
首次登录建议更改密码
passwd
系统会提示更改密码,需要输入两次,输入的时候什么也看不到别以为键盘没用。改好后记住密码,如果用的SSH软件,记得更改登陆密码。
步骤二:CentOS 8.x升级并开启BBR加速(可选)
BBR加速
BBR是google出品的一款宽带堵塞控制算法,真正目的就是使主机带宽尽可能地跑满,可降低延迟以及有效地防止一定的丢包情况,总之安装了多少有些帮助。
1. 开始升级系统,centos使用dnf软件管理包,而不是yum(如果你使用的是centos7,之后全部用yum替代下文中的dnf),性能更优,支持模块等优点,当然yum还是可以用的,Centos8这一步请慎重,有可能会导致主机无法重启:
dnf update 或yum 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吧。
其实我试过安装常规版PHP也是可以的,但是需要安装一个php-litespeed的php扩展,其他设置一模一样。
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 mariadb-secure-installation (版本10.6以后)
具体操作选项如下,请安装你自己的需求或参考我的配置
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,绑定你的域名,PS:配置virtual host之前,请记得域名已经解析到了主机。
比如使用chimawood.com的域名,给新的虚拟主机取名就叫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:chimawood.com(你自己怎么设置的创建什么名字)。或者直接通过SSH创建:
mkdir /usr/local/lsws/chimawood.com
3. 接下来给新创建的虚拟主机配置其他的选项,Virtual Hosts >选择虚拟主机(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 > 选择虚拟主机(chimawood.com) > General > Index Files:
Use Server Index Files: No Index Files: index.php,index.html Auto Index: No
保存,继续修改Virtual Hosts > 选择虚拟主机(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 > 选择虚拟主机(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 > 选择虚拟主机(chimawood.com) > Security,此处主要修改一项:
Allowed List: *
保存,继续Virtual Hosts > 选择虚拟主机(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: chimawood.com Domains: chimawood.com,www.chimawood.com (可以添加多个子域名,以英文逗号(,)隔开,假如主机只有一个域名的话,也可以只填写*)
如果你的网站主要以www.开头的话,这里domains处最好是加上www.的域名,以免一些地方出错
保存。现在建立一个文本文件,内容可以是helloworld, welcome to 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吧。