想好好研究一下Wellcms,根据官方介绍,Wellcms在最低1H1G的配置下都能跑得飞快,但是对软件环境有要求。
因为服务器硬件配置不高的话,软件就要控制好。
1G的内存就不要想着安装面板了,比如宝塔面板,WDCP之类的,最好是自己搭建环境。
刚好有一台闲置的云服务器,就拿来做试验了。
先看看Wellcms推荐的软件版本:
1G内存:linux系统CentOS/Debian你随便,面板不要,直接安装LNMP或者自己搭建环境,php7.0-7.2随便但仅限安装一个最多不超过2个php,建议php5.安装一个,php7选择安装一个,MYSQL 5.0. 不能超过5.6(包含5.6),OPcache安装,缓存 yac/redis/memcached/xcache/apc 选择安装一个,我推荐yac缓存,最后启用gzip压缩。
2G以上内存:除了MYSQL你可以任性的选择高版本,其他不变。但是高版本MYSQL只会吃内存外,对于wellcms没什么必要,因为wellcms不做运算筛选,而且对热数据进行了缓存,非热数据会释放,合理、科学的控制和使用缓存。
两个推荐的配置中只有MYSQL不同,而且2G以上内存的配置也没必须安装高版本的MYSQL,这么说来,两套配置就几乎是一模一样了。
WEB服务软件版本没有硬性的要求,研究了一下准备安装Tengine,也就是由淘宝发起的开源WEB服务器软件。
目前最新的2.3.3版本已经基于Nginx1.18.0版本做了更新。
Nginx最新版本是1.29.0,距离Nginx最新版本还是有点距离。但对于研究自己搭建环境来说没什么影响。
腾讯轻量云服务器2H4G,全新安装的CentOS 7.2系统,无任何环境。
如果安装了Nginx的话,就需要先卸载Nginx,用如下步骤:
停止Nginx软件 systemctl nginx stop 删除Nginx的自动启动 chkconfig nginx off 从源头删除Nginx rm -rf /usr/sbin/nginx rm -rf /etc/nginx rm -rf /etc/init.d/nginx 再使用yum清理 yum remove nginx
在没有任何环境的系统中,如果要安装Nginx,就用如下步骤:
#安装 yum install nginx -y #如果显示没有的话就换一下源 #配置腾讯云的yum源 1.下载centos源 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo 2.下载epel源(第三方软件仓库) wget -O /etc/yum.repos.d/epel.repo http://mirrors.cloud.tencent.com/repo/epel-7.repo 3.清空yum缓存并且生成新的yum缓存 yum clean all yum makecache #重新安装 yum install nginx -y
由于我是没有任何环境的系统,也不安装Nginx,就跳过上面的两个步骤,直接进行编译安装Tengine
安装Tengine前解决依赖环境问题:
yum -y install gcc* pcre* jemalloc* path openssl libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
创建www用户和组:
groupadd www useradd -g www www
创建www虚拟主机使用的目录,以及Nginx使用的日志目录:
mkdir -p /data/www
并且赋予他们适当的权限:
chmod +w /data/www chown -R www:www /data/www
www目录也可以不创建,使用Tengine默认的html目录,只要赋予权限就行了:
chmod +w /opt/nginx/html chown -R www:www /opt/nginx/html
下载Tengine:
wget http://tengine.taobao.org/download/tengine-2.3.3.tar.gz
解压:
tar -zxvf tengine-2.3.3.tar.gz
进入刚刚解压出来的源码目录:
cd tengine-2.3.3
进行相关配置:
./configure --prefix=/opt/nginx --user=www --group=www --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-jemalloc
编译安装:
make && make install
要是编译错了,或者不想要了直接删除,再重新解压,编译,安装:
rm -rf nginx
环境变量的配置
echo $PATH命令查看原有的环境变量:
echo $PATH #原有的环境变量 usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
打开/etc/profile :
vi /etc/profile
在最后一行添加下面内容:
#两种格式,任选其一,推荐格式一 #格式一 PATH="usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/opt/nginx" #格式二 PATH="$PATH:/opt/nginx/sbin"
刷新/etc/profile:
source /etc/profile
修改 nginx.conf:
vi /opt/nginx/conf/nginx.conf
修改前面几行为:
user www www; worker_processes 4; error_log logs/error.log crit; pid logs/nginx.pid; events{ use epoll; worker_connections 65535; }
测试和运行:
cd /opt/nginx ldconfig ./sbin/nginx -t
如果显示下面信息,即表示配置没问题
nginx: the configuration file /opt/nginx/conf/nginx.conf syntax is ok nginx: configuration file /opt/nginx/conf/nginx.conf test is successful
如果有问题,就运行一下这个命令:
ldd $(which /opt/nginx/sbin/nginx)
输入代码运行nginx服务:
./sbin/nginx ps au|grep nginx
如果显以类似下面的信息,即表示nginx已经启动:
root 2013 0.0 0.0 103156 856 pts/0 S+ 03:22 0:00 grep nginx
输入代码检测是否支持加速:
ps -n | grep jemalloc
显示如下信息表示成功:
nginx 2346 root mem REG 253,1 1824470 51571788 /usr/local/lib/libjemalloc.so.1 nginx 2347 www mem REG 253,1 1824470 51571788 /usr/local/lib/libjemalloc.so.1 nginx 2348 www mem REG 253,1 1824470 51571788 /usr/local/lib/libjemalloc.so.1 nginx 2349 www mem REG 253,1 1824470 51571788 /usr/local/lib/libjemalloc.so.1 nginx 2350 www mem REG 253,1 1824470 51571788 /usr/local/lib/libjemalloc.so.1
将Tengine作为服务:
vi /usr/lib/systemd/system/tengine.service
增加以下内容:
[Unit] Description=The nginx HTTP and reverse proxy server After=syslog.target network.target remote-fs.target nss-lookup.target [Service] Type=forking PIDFile=/opt/nginx/logs/nginx.pid ExecStartPre=/opt/nginx/sbin/nginx -t ExecStart=/opt/nginx/sbin/nginx ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/bin/kill -s QUIT $MAINPID PrivateTmp=true [Install] WantedBy=multi-user.target
保存退出。
设置为开机启动:
systemctl enable tengine
运行服务:
systemctl start tengine
查看Tengine服务状态:
systemctl status tengine
重载服务:
systemctl reload tengine
停止服务:
systemctl stop tengine
后面接着要安装PHP,MYSQL数据库,以及FTP服务。