CentOS 7离线部署LNMP

某客户实际部署需要内网离线部署LNMP环境

环境版本

PHP 8.1

MySQL 5.7

NGINX 1.22

Redis 7.2

需要在有网络的同系统电脑上下载rpm包,复制到离线环境的服务器上进行安装rpm。

 

操作系统Cent OS 7.9 x64

端口放行

iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 20 -j ACCEPT
iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT

启用 EPEL 仓库

yum install epel-release

添加用户组www

groupadd www

添加用户 www

useradd -m -g www www

# useradd -m -g 组名 新建用户名

创建环境的相关目录

mkdir -p /www/server/tmp

下载相关的包

yumdownloader --resolve --destdir /www/server/tmp gcc gcc-c++ libxml2 libxml2-devel autoconf openssl-devel sqlite-devel libcurl-devel libpng-devel libjpeg-devel freetype-devel oniguruma-devel

安装下载的RPM包

 rpm -ivh --force --nodeps /www/server/tmp/*.rpm

安装PHP8.1

配置PHP8.1和编译PHP8.1

PHP源码下载

https://www.php.net/downloads.php#v8.1.27

创建PHP最终生成目录

mkdir -p /www/server/php/81

配置各种选项

./configure -prefix=/www/server/php/81 -enable-fpm -with-fpm-user=www -with-fpm-group=www -enable-mysqlnd -with-mysqli=mysqlnd -with-pdo-mysql=mysqlnd -with-iconv-dir -with-freetype -with-jpeg -with-zlib -with-libxml-dir=/usr -enable-xml -disable-rpath -enable-bcmath -enable-shmop -enable-sysvsem -enable-inline-optimization -enable-mbregex -enable-mbstring -enable-pcntl -enable-ftp -enable-gd -with-mhash -enable-pcntl -enable-sockets -with-xmlrpc -enable-soap -with-gettext -disable-fileinfo -enable-opcache -with-openssl -with-curl

编译并安装

make -j 8 && make install

创建php的配置目录

mkdir -p /usr/local/php/
mkdir -p /usr/local/etc/php-fpm.d

将PHP源码目录内的配置文件复制出来

cp /www/server/tmp/php-8.1.27/php.ini-development /www/server/php/81/lib/php.ini
cp /www/server/php/81/etc/php-fpm.d/www.conf.default /usr/local/etc/php-fpm.d/www.conf
cp /www/server/php/81/sbin/php-fpm /usr/local/bin

修改配置文件

vim /www/server/php/81/lib/php.ini

把cgi.fix_pathinfo启用并改为0

cgi.fix_pathinfo=0

创建log目录

mkdir -p /www/server/php/81/var/log

创建日志文件

touch /www/server/php/81/var/log/php-fpm.log

创建run目录

mkdir -p /www/server/php/81/var/run

创建php-fpm.conf

vim /www/server/php/81/etc/php-fpm.conf

填入以下内容

[global]
pid = /www/server/php/81/var/run/php-fpm.pid
error_log = /www/server/php/81/var/log/php-fpm.log
log_level = notice

[www]
listen = /tmp/php-cgi-81.sock
listen.backlog = -1
listen.allowed_clients = 127.0.0.1
listen.owner = www
listen.group = www
listen.mode = 0666
user = www
group = www
pm = dynamic
pm.status_path = /phpfpm_81_status
pm.max_children = 30
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 10
request_terminate_timeout = 100
request_slowlog_timeout = 30
slowlog = var/log/slow.log

启动fpm没有报错就说明配置文件已经配置正确

/www/server/php/81/sbin/php-fpm -y /www/server/php/81/etc/php-fpm.conf

PHP拓展安装

安装Swoole 5.0

源码下载

https://pecl.php.net/get/swoole-5.0.3.tgz

解压

tar zxvf swoole-5.0.3.tgz

配置、编译、安装

/www/server/php/81/bin/phpize && ./configure --with-php-config=/www/server/php/81/bin/php-config
make && make install

把swoole.so拓展加入到php.ini文件

vim /www/server/php/81/lib/php.ini

加一句

extension=swoole.so

重启PHP,在PHP Info能看到Swoole就说明安装成功

安装Redis拓展

下载地址

https://github.com/phpredis/phpredis/archive/refs/tags/6.0.2.tar.gz

解压

 

tar zxvf phpredis-6.0.2.tar.gz

配置、编译、安装

/www/server/php/81/bin/phpize && ./configure --with-php-config=/www/server/php/81/bin/php-config
make -j 8 && make install

把redis.so拓展加入到php.ini文件

vim /www/server/php/81/lib/php.ini

加一句

extension=redis.so

重启PHP,在PHP Info能看到Redis就说明安装成功

MySQL 5.7安装(RPM方式)

下载地址

https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.44-1.el7.x86_64.rpm-bundle.tar

CentOS 7默认数据库是MariaDB,需要卸载

先查询

rpm -qa | grep mariadb

卸载MariaDB

rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64

安装MySQL,注意RPM是有安装顺序的

rpm -ivh mysql-community-common-5.7.44-1.el7.x86_64.rpm 
rpm -ivh mysql-community-libs-5.7.44-1.el7.x86_64.rpm 
rpm -ivh mysql-community-client-5.7.44-1.el7.x86_64.rpm 
rpm -ivh mysql-community-server-5.7.44-1.el7.x86_64.rpm 
rpm -ivh mysql-community-devel-5.7.44-1.el7.x86_64.rpm

启动MySQL

service mysqld start

查看管理员默认密码

grep 'temporary password' /var/log/mysqld.log

登录进去

mysql -uroot -p'iXrgg&Ps-2YT'

修改ROOT账户的密码(注意这里需要大小写字母数字和符号)

ALTER USER 'root'@'localhost' IDENTIFIED BY 'CQSqy@123';

配置远程连接

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'CQSqy@123' WITH GRANT OPTION;
FLUSH PRIVILEGES;

 

Redis安装

创建目录

mkdir -p /www/server/redis

下载地址

https://codeload.github.com/redis/redis/tar.gz/refs/tags/7.2.4

解压

tar zxvf redis-7.2.4.tar.gz

编译并安装

make && make install

启动Redis

redis-server

启动Redis(后台启动)

redis-server -daemonize yes

Nginx 1.22安装

下载地址

https://nginx.org/download/nginx-1.22.1.tar.gz

Nginx所需要的依赖

yumdownloader --resolve --destdir /www/server/tmp libtermcap-devel ncurses-devel libevent-devel readline-devel libuuid-devel gd gd-devel

创建NGINX的目录

mkdir -p /www/server/nginx

配置

./configure --user=www --group=www --prefix=/www/server/nginx --with-http_v2_module --with-stream --with-stream_ssl_module --with-stream_ssl_preread_module --with-pcre --with-http_stub_status_module --with-http_ssl_module --with-http_image_filter_module --with-http_gzip_static_module --with-http_gunzip_module --with-http_sub_module --with-http_flv_module --with-http_addition_module --with-http_realip_module --with-http_mp4_module --with-ld-opt="-Wl,-E" --with-cc-opt="-Wno-error"

编译并安装

make && make install

 

配合PHP使得Nginx和PHP能联合使用

nginx使用nginx.conf启动

/www/server/nginx/sbin/nginx -c /www/server/nginx/conf/nginx.conf

php-fpm使用php-fpm.conf启动

/www/server/php/81/sbin/php-fpm -y /www/server/php/81/etc/php-fpm.conf

 

《CentOS 7离线部署LNMP》为 九城 原创,创作不易!转载请注明出处!感谢!
文章地址:https://blog.minkse.cn/centos-7%e7%a6%bb%e7%ba%bf%e9%83%a8%e7%bd%b2lnmp/
暂无评论

发送评论 编辑评论

|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇