标签:增加 创建 df -h mat img pcr xxx cin nginx
使用云服务器搭建 Web 运行环境,尤其是搭建常见的 LNMPR(Linux+Nginx+MySQL+PHP+Redis) 环境,对于开发人员是必备的职场基本技能之一。在这里,借着搭建我的“魚立说”个人网站的机会,整理了从零搭建 LNMPR 环境的详细过程,期间遇到的问题也一一进行了记录。
本文来源:魚立说。本文链接:https://www.yulisay.com/d/lnmpr1.html,支持微信浏览器打开。
更多精彩文章,请移步 魚立说个人网站 翻看。欢迎欣赏,吐槽不足之处。
本主题使用到的服务器是 Aliyun 的 ECS 体验机,适用于在 CentOS 操作系统下搭建 LNMPR 运行环境,整个系列由以下两个文章部分组成:
搭建服务目标组成:Nginx 1.19.4 + MySQL 5.7.32 + PHP 7.4.9 + Redis 6.0.9
,预计耗时 40 分钟。
本服务器是从 阿里云试用中心 找到的,直接跳转:基于 ECS 搭建博客 - 开发者云体验平台。
进入体验页后,点击“开始体验”,并免费开通 ECS 服务器,这时会有 2 个小时的体验时间,如图:
然后按照右侧的教程,可以在终端连接 ECS 服务器,如图:
首先,我们需要了解关于服务器的一些信息,下面是几个有用的命令:
查看服务器版本:cat /etc/redhat-release
,比如输出是 CentOS Linux release 7.7.1908 (Core) 。
查看硬盘使用情况:df -h
,其中 /dev/vda1 是我们用到的磁盘,如系统资源占用了 2G :
Filesystem Size Used Avail Use% Mounted on
devtmpfs 486M 0 486M 0% /dev
tmpfs 496M 0 496M 0% /dev/shm
tmpfs 496M 452K 496M 1% /run
tmpfs 496M 0 496M 0% /sys/fs/cgroup
/dev/vda1 40G 2.0G 36G 6% /
tmpfs 100M 0 100M 0% /run/user/0
查看内存使用量:free -m
。
查看端口侦听情况:netstat -lntp
,输出显示目前没有我们需要的资源(没有 NMPR 的端口服务):
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 984/sshd
接下来,便可以开始依次安装 NMPR 服务了。
我们需要准备一个源码目录、运行目录、日志目录等,并创建具有执行权限的用户组和用户,同时准备一个项目目录和 PHP 默认入口文件,命令如下:
mkdir -p /data/src /data/run /data/log/nginx /data/log/php /data/log/mysql
groupadd admin && useradd -s /sbin/nologin -M -g admin www
mkdir -p /data/project/www && cd /data/project/www && echo "<?php" >> index.php && echo "phpinfo();" >> index.php
chown -R www:admin /data/project/www && chmod -R 755 /data/project/www
安装缺少的依赖包:
yum -y install gcc gcc-c++ make libtool zlib zlib-devel openssl openssl-devel pcre pcre-devel
下载、解压 安装包,这里用到了下载速度更快的镜像源:
cd /data/src && wget -c http://mirrors.sohu.com/nginx/nginx-1.19.4.tar.gz && tar -zxvf nginx-1.19.4.tar.gz && cd nginx-1.19.4
使用自定义配置:
./configure --user=www --group=admin --prefix=/usr/local/nginx --sbin-path=/usr/local/nginx/bin/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --pid-path=/data/run/nginx.pid --lock-path=/data/run/nginx.lock --http-log-path=/data/log/nginx/access.log --error-log-path=/data/log/nginx/error.log --with-http_v2_module --with-http_ssl_module --with-http_gzip_static_module --with-http_realip_module --with-http_stub_status_module --with-http_sub_module --with-http_realip_module
编译安装:
make && make install
加入到当前用户的 PATH 中:
echo ‘export PATH=/usr/local/nginx/bin:$PATH‘ >> ~/.bashrc && source ~/.bashrc
这时,查看 Nginx 版本,输出为 “nginx/1.19.4” :
nginx -v
下载安装 repo:
cd /etc/yum.repos.d && wget -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm && yum -y install mysql57-community-release-el7-10.noarch.rpm
安装 MySQL 服务器:
yum -y install mysql-community-server
查看 MySQL 版本,输出为 “Server version: 5.7.32” :
mysql -V
安装缺少的依赖包:
yum -y install libxml2 libxml2-devel bzip2 bzip2-devel libcurl curl-devel libjpeg libjpeg-devel libpng libpng-devel freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel libicu-devel sqlite-devel
安装 oniguruma5php oniguruma5php-devel 扩展:
yum -y install https://rpms.remirepo.net/enterprise/7/remi/x86_64/oniguruma5php-6.9.5+rev1-4.el7.remi.x86_64.rpm
yum -y install https://rpms.remirepo.net/enterprise/7/remi/x86_64/oniguruma5php-devel-6.9.5+rev1-4.el7.remi.x86_64.rpm
安装 libzip 扩展:
yum remove libzip && cd /data/src && wget -c https://hqidi.com/big/libzip-1.2.0.tar.gz && tar -zxvf libzip-1.2.0.tar.gz && cd libzip-1.2.0
./configure && make && make install && export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/
下载、解压 安装包,这里用到了下载速度更快的镜像源:
cd /data/src && wget -c http://mirrors.sohu.com/php/php-7.4.9.tar.gz && tar -zxvf php-7.4.9.tar.gz && cd php-7.4.9
自定义配置,配置项可以使用命令 ./configure --help
查看,这里设定安装目录为 /usr/local/php,配置文件目录为 /usr/local/php/etc,并允许使用 php-fpm 管理 PHP 请求:
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-fpm-user=www --with-fpm-group=www --with-curl --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-mysqli --with-pdo-sqlite --with-pdo-mysql --with-pear --with-xmlrpc --with-mhash --with-bz2 --with-gmp --with-openssl --with-xsl --with-zip --with-zlib --with-zlib-dir --with-freetype --enable-fpm --enable-mysqlnd --enable-mysqlnd-compression-support --enable-inline-optimization --enable-mbregex --enable-opcache --enable-xml --enable-bcmath --enable-calendar --enable-dba --enable-exif --enable-ftp --enable-gd --enable-intl --enable-mbstring --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvmsg --enable-sysvsem --enable-sysvshm
编译安装,执行过程需要等待几分钟:
make && make install
加入到当前用户的环境变量中:
echo ‘export PATH=/usr/local/php/bin:$PATH‘ >> ~/.bashrc && source ~/.bashrc
复制 php-fpm 程序到 /etc/init.d,并赋予执行权限 :
cp /data/src/php-7.4.9/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm &&
chmod +x /etc/init.d/php-fpm
查看 PHP 版本,输出为 “PHP 7.4.9 (cli)” :
php -v
安装缺少的依赖包 :
yum -y install centos-release-scl && yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
加入到当前用户的环境变量:
echo "source /opt/rh/devtoolset-9/enable" >> ~/.bashrc && echo ‘export PATH=/usr/local/redis/bin:$PATH‘ >> ~/.bashrc && source ~/.bashrc
下载、解压 安装包:
cd /data/src && wget -c http://download.redis.io/releases/redis-6.0.9.tar.gz && tar -zxvf redis-6.0.9.tar.gz && cd redis-6.0.9
编译安装:
make install PREFIX=/usr/local/redis
复制配置文件:
cp /data/src/redis-6.0.9/redis.conf /usr/local/redis/bin/
查看 Redis 版本,输出为 “Redis server v=6.0.9”:
redis-server -v
最后,再次执行命令:df -h,可以看到系统资源占用了 5.6G ,也就是说我们安装的资源占用了 3G 多:
Filesystem Size Used Avail Use% Mounted on
devtmpfs 486M 0 486M 0% /dev
tmpfs 496M 0 496M 0% /dev/shm
tmpfs 496M 496K 495M 1% /run
tmpfs 496M 0 496M 0% /sys/fs/cgroup
/dev/vda1 40G 5.6G 32G 15% /
tmpfs 100M 0 100M 0% /run/user/0
原因是密码设置的过于简单,MySQL有密码设置的规范,validate_password_policy 决定密码的验证策略。
libzip 版本过低导致。
内存不足,无法完成编译。通过增加 SWAP 虚拟内存来解决,执行下面的命令:
dd if=/dev/zero of=/swap bs=1024 count=1M
mkswap /swap
swapon /swap
echo "/swap swap swap sw 0 0" >> /etc/fstab
执行后,通过命令free -m
可以看到出现了虚拟内存 SWAP。
找到配置文件 /etc/yum.repos.d/CentOS-Base.repo ,修改 yum 的更新源站点。这里使用阿里云的镜像进行替代,执行前先备份 CentOS-Base.repo:
cp /etc/yum.repos.d/CentOS-Base.repo /data/src/
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
⑤ Linux(CentOS7.6 x64)安装Redis-6.0.9完全教程手册详细篇
标签:增加 创建 df -h mat img pcr xxx cin nginx
原文地址:https://www.cnblogs.com/yulir/p/14600616.html