2025 独立开发者训练营:AI Agent!查看介绍 / 立即报名 →

搭建 Web 运行环境 - LEMP 平台

LEMP = Linux - NGINX - MySQL / MariaDB - PHP 。

添加用户

拿到一台服务器,第一件事是去添加一个平时操作用的用户,最好不要直接使用 root 用户,因为会有安全问题。下面添加一个用户叫 ninghao :

adduser ninghao

设置密码

有了 ninghao 这个用户以后,可以再设置一下他的密码:

passwd ninghao

root 权限

给 ninghao 用户分配可以使用 root 用户的权限,这样需要 root 权限的时候,可以在命令前面添加 sudo:

gpasswd -a ninghao wheel

配置 SSH

平时要 SSH 到服务器,然后去控制服务器,连接的时候有个默认的端口,为了安全,我们可以修改一下这个端口号,比如改成 3333:

vi /etc/ssh/sshd_config

# 修改为
Port 3333
PermitRootLogin no

# 重载服务
systemctl reload sshd.service

SWAP

内存用完了就会用虚拟内存,SWAP 就是虚拟内存,不得已的时候才会用到。一般虚拟内存的大小是物理内存的两倍,下面的命令会添加一个 4G 的 SWAP:

sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo sh -c 'echo "/swapfile none swap sw 0 0" >> /etc/fstab'

防火墙

防火墙可以控制进入到服务器或者从服务器出去的数据,CentOS 7 上自带一个 firewalld。

# 开启 firewalld 服务:
sudo systemctl start firewalld

# 开放 SSH 自定义的端口
sudo firewall-cmd --permanent --add-port=3333/tcp

# 开放 HTTP
sudo firewall-cmd --permanent --add-service=http

# 开放 HTTPS
sudo firewall-cmd --permanent --add-service=https

# 开放 SMTP
sudo firewall-cmd --permanent --add-service=smtp
 
# 查看
sudo firewall-cmd --get-services
sudo firewall-cmd --permanent --list-all
 
# 重载服务
sudo firewall-cmd --reload
 
# 开机启动
sudo systemctl enable firewalld

挂载

如果你在阿里云购买的服务器,同时又购买了数据盘,你需要格式化一下,然后把它挂载到系统的某个指定的地方。

sudo fdisk -l

# 发现
/dev/xvdb: 32.2 GB

sudo fdisk /dev/xvdb

# 按键
n, p, 1, enter, enter, n, enter, enter, wq

sudo fdisk -l

# 发现
/dev/xvdb1

sudo mkfs.ext3 /dev/xvdb1

# 把
/dev/xvdb1 /mnt ext3 defaults 0 0

# 添加到
etc/fstab

sudo mount -a

添加仓库

系统自带一些仓库,这些仓库里的软件可能并不是你想要的,有可能版本比较旧。所以你需要安装一些第三方的仓库,这些仓库里会有比较新的软件,比如 ius 仓库。先安装一下 epel 仓库,然后再安装 ius 仓库。下面的 rpm 文件可能会失效,你可以在 IUS 网站的仓库列表里找到最新的下载地址。

sudo rpm -Uvh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
sudo rpm -Uvh https://dl.iuscommunity.org/pub/ius/stable/CentOS/7/x86_64/ius-release-1.0-14.ius.centos7.noarch.rpm

PHP

sudo yum install php56u-fpm -y
sudo yum install php56u-gd php56u-mysqlnd php56u-pdo php56u-mcrypt php56u-mbstring php56u-xmlrpc php56u-pecl-jsonc php56u-pecl-memcached -y
sudo systemctl start php-fpm
sudo systemctl enable php-fpm

配置:

     # PHP-FPM
     vi /etc/php-fpm.d/www.conf
 
     # 减小内存占用
     pm = dynamic
     pm.max_children = 10 原:50
     pm.start_servers = 3 原:5
     pm.min_spare_servers = 1 原 5
     pm.max_spare_servers = 5 原 35
     pm.max_requests = 0
 
     # php.ini
     vi /etc/php.ini
 
     memory_limit 512M
     upload_max_filesize 300M
     post_max_size 300M

NGINX

Web 服务器。

# 安装
sudo yum install nginx -y

# 启动
sudo systemctl start nginx

# 设置为开机自动启动
sudo systemctl enable nginx

配置:

client_max_body_size 256m;
fastcgi_read_timeout 600;

MariaDB

数据库,可以完全代替 MySQL。

# 删除系统自带的 MariaDB
sudo yum remove mariadb-libs

# 安装新的 MariaDB
sudo yum install mariadb100u mariadb100u-server -y

# 启动
sudo systemctl start mariadb

# 设置为开机自动启动
sudo systemctl enable mariadb

Sendmail

发邮件用的小工具。

# 安装
sudo yum install sendmail -y

# 启动
sudo systemctl start sendmail

# 设置为开机自动启动
sudo systemctl enable sendmail

Composer

PHP 包管理工具。

curl -sS https://getcomposer.org/installer | php

echo $PATH
sudo mv composer.phar /usr/local/bin/composer

# 编辑
vi ~/.bash_profile

# 添加
export PATH="$HOME/.composer/vendor/bin:$PATH"

# 执行
source ~/.bash_profile

Git

版本控制工具。

# 安装
sudo yum install git2u -y
 
# 错误
Error: perl-Git2u conflicts with perl-Git-1.8.3.1-4.el7.noarch
Error: git2u conflicts with git-1.8.3.1-4.el7.x86_64
 
# 解决
sudo yum remove perl-Git-1.8.3.1-4.el7.noarch
 
# 配置
git config --global user.email 117663444@qq.com
git config --global user.name "wanghao8080"

Memcached

sudo yum install memcached -y
sudo systemctl start memcached
sudo systemctl enable memcached

Drush

管理 Drupal 网站用的命令行工具。

composer global require "drush/drush": "7.0.0"

WP-CLI

管理 WordPress 网站用的命令行工具。

# 下载
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

# 添加执行权限
chmod u+x wp-cli.phar

# 移动到环境变量目录
sudo mv wp-cli.phar /usr/local/bin/wp
 
# 错误:无法下载
 
# 解决:手工下载并上传
rsync -a -e 'ssh -p 3333' ~/downloads/wp-cli.phar ninghao@x.x.x.x:~/
微信好友

用微信扫描二维码,
加我好友。

微信公众号

用微信扫描二维码,
订阅宁皓网公众号。

240746680

用 QQ 扫描二维码,
加入宁皓网 QQ 群。

统计

15260
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点