系列-PHP+Linux服务器环境搭建:Linux 环境基础安装

目录

Linux 环境基础安装
Nginx、Redis、Mysql安装
PHP、扩展、composer安装
进程管理工具Supervisor安装
Git、版本管理软件Gogs安装
Laravel项目的相关配置

服务器概要

硬件:腾讯云ECS 标准型S5 2核2GB 1Mbps
系统环境: CentOS(含阿里云、腾讯云的云OS)
应用系统: laravel10
运行环境: php8.2+ nginx + redis
进程管理: supervisor
数据库:MySQL
版本仓库管理: gogs

个人项目测试需要入手了低配的ECS服务器,整个搭建过程将安装项目所需的所有软件,另包含ssh登录、进程管理软件及Git版本仓库管理软件。

# 修改主机名
> hostnamectl set-hostname production

# 修改ssh登录连接超时时间
> vim /etc/ssh/sshd_config
PermitRootLogin yes        # yes表示root可以ssh登录
PasswordAuthentication no  # no表示不允许密码登录
ClientAliveInterval 60     # 每隔多少秒给SSH客户端发送一次信号
ClientAliveCountMax 86400  # 超过多少秒后断开与SSH客户端连接

# 重启sshd服务
> systemctl restart sshd.service #restart stop start

服务器内存小于4G

在Linux上安装MySQL、PHP时,服务器内存较小的情况下,会出现“c : fatal error: Killed signal terminated program cc1 “错误,可以通过增大服务器SWAP大小来解决。

设置2G交换分区

# 0. 检查现在已经分配的swap分区
sudo swapon -s

# 1. 禁用swap分区
sudo swapoff /mnt/swapfile

# 2. 创建用于交换分区的文件/mnt/swapfile,大小为2GB(这里修改块的大小和数量来达到想要的大小)
sudo dd if=/dev/zero of=/mnt/swapfile bs=1M count=2048

# 3. 设置交换分区文件
sudo mkswap /mnt/swapfile

# 4. 立即启用交换分区文件,注:如果在 /etc/rc.local 中有 swapoff -a 需要修改为 swapon -a 
sudo swapon /mnt/swapfile

# 5. 查看SWAP信息是否正确
sudo swapon -s

# 6. 设置开机时自启用 SWAP 分区
su root
echo "/mnt/swapfile swap swap defaults 0 0" >> /etc/fstab

删除交换分区可以用以下命令

# 删除交换分区:
sudo swapoff /mnt/swapfile
sudo rm -rf /mnt/swapfile
# 释放空间
sudo swapoff -a

添加www用户和组

mkdir -p /home/www/soft_download
chmod 777 /home/www/soft_download
mkdir -p /home/www/logs
mkdir -p /home/www/redisdb
mkdir -p /home/www/cert

groupadd www
useradd -d /home/www -g www -s /bin/bash www
chown -R www:www /home/www
chmod -R 755 /home/www

# 添加sudoers
> visudo     # 或者 vi /etc/sudoers
# 添加下面的行{在 root ALL = (ALL) ALL  后面}
    www     ALL = (ALL) NOPASSWD: ALL
    
# 切换用户
> su www
> cd ~

# 管理ssh密钥
> mkdir .ssh
> touch .ssh/authorized_keys
> cd .ssh

# 添加www用户的密钥
> ssh-keygen -t rsa -C 'www'  # 取名 www
> cat www.pub >> authorized_keys

3. 依赖安装

3.1 基础依赖
sudo yum -y install net-tools autoconf automake unzip zip gcc gcc-c++
sudo yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gd gd-devel
sudo yum -y install ImageMagick ImageMagick-devel
sudo yum -y install libxml2 libxml2-devel pcre pcre-devel curl-devel libxslt-devel openssl openssl-devel zlib zlib-devel re2c bison
sudo yum -y install libcurl-devel sqlite-devel libsqlite3x-devel krb5-devel oniguruma oniguruma-devel
# 下面的不保证能安装成功,如果失败,只能更换源或源码安装
sudo yum -y install libmcrypt libmcrypt-devel mhash mcrypt
# 源码安装oniguruma(oniguruma是一个处理正则表达式的库,php7.4开始对这个包有依赖性,64位的系统一定要标识--libdir=/lib64)
cd /home/www/soft_download
wget -c https://github.com/kkos/oniguruma/archive/v6.9.4.tar.gz -O oniguruma-6.9.4.tar.gz 
tar -zxvf oniguruma-6.9.4.tar.gz
cd oniguruma-6.9.4/
sudo ./autogen.sh
sudo ./configure --libdir=/lib64
sudo make
sudo make install
sudo ldconfig /usr/local/lib

# 安装ImageMagickb (yum安装不了时)
cd /home/www/soft_download
# git clone https://github.com/ImageMagick/ImageMagick.git ImageMagick-7.1.1
wget -c https://ftp.icm.edu.pl/pub/unix/graphics/ImageMagick/ImageMagick-7.1.1-21.tar.gz
tar -zxvf ImageMagick-7.1.1-21.tar.gz
cd ImageMagick-7.1.1-21
sudo ./configure
sudo make
sudo make install
sudo ldconfig /usr/local/lib
3.2 安装python

python官网找到对应版本下载地址

cd /home/www/soft_download
wget -c https://www.python.org/ftp/python/3.10.11/Python-3.10.11.tgz
tar -zxvf Python-3.10.11.tgz
cd Python-3.10.11
./configure --prefix=/usr/local/Python-3.10.11
sudo make
sudo make install
# 建立软连接
sudo ln -s /usr/local/Python-3.10.11/bin/python3.10 /usr/bin/python
sudo ln -s /usr/local/Python-3.10.11/bin/pip3.10 /usr/bin/pip

# 查看版本
python --version

# 配置环境变量(pip安装的软件会放置在bin目录下)
> sudo vim /etc/profile
# 配置python
export PYTHON_HOME=/usr/local/Python-3.10.11
export PATH=$PYTHON_HOME/bin:$PATH

# 环境变量生效
source /etc/profile
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zxddt

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值