搭建LNMP环境(一):安装Tengine

admin2022-12-29  176

想好好研究一下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服务。

转载请注明原文地址:http://198484.com/?read-39.html
000

最新回复(0)