Linux运维:环境搭建

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: Linux运维:环境搭建

一.环境了解

LAMP 环境搭建指的是在 Linux 操作系统中分别安装 Apache 网页服务器、MySQL 数据库服务器和 PHP 开发服务器,以及一些对应的扩展软件。LAMP 环境是当前极为流行的搭建动态网站的开源软件系统,拥有良好的稳定性及兼容性。而且随着开源软件的蓬勃发展,越来越多的企业和个人选择在 LAMP 开发平台上搭建自己的网站。

LNMP 环境搭建指的是在 Linux 操作系统中分别安装 Nginx 网页服务器、MySQL 数据库服务器和 PHP 开发服务器,以及一些对应的扩展软件。在 LNMP 环境中,使用 Nginx 网页服务器取代了 Apache 网页服务器。Nginx 是一款高性能的 HTTP 网页服务器和反向代理服务器,它的执行效率极高,配置相比 Apache 也较为简单,所以在短时间内被国内外很多大型公司所采用,大有取代 Apache 的势头(目前还是以 Apache 为主流的)。

二.PHP扩展

1.安装libxml2库

在Linux系统中,libxml2是一个用来解析XML文档的函数库。安装libxml2库的过程相对比较简单。以下是一些通用的步骤:

  1. 打开终端或者命令行界面,并使用系统管理员权限登录。
  2. 检查系统是否已经安装了libxml2库。可以输入以下命令来检查:
dpkg -l libxml2
  1. 如果出现了类似"ii libxml2:amd64 x.xx.x-xx"的输出结果,说明libxml2已经被安装了。
  2. 如果系统没有安装该库,则可以使用包管理器进行安装。比如,在Debian和Ubuntu系统中可以使用以下命令:
sudo apt-get update
sudo apt-get install libxml2-dev

在CentOS和Fedora系统中可以使用以下命令:

sudo yum install libxml2-devel

安装完成后,可以通过编译测试程序来验证一下libxml2是否可以正常使用。可以使用以下命令:

gcc test.c -o test -I/usr/include/libxml2 -lxml2

其中,test.c是测试程序的源代码文件名。如果编译过程没有出现错误,则说明libxml2已经安装成功并可以正常使用。

2.安装libmcrypt

Libmcrypt是一个加密库,它提供了一些加密算法的实现。在Linux系统上,你可以通过以下步骤来安装libmcrypt:

  1. 下载libmcrypt源代码

你可以从官方网站http://sourceforge.net/projects/mcrypt/下载最新版本的libmcrypt源代码。

  1. 解压缩源代码

使用以下命令将源代码解压缩到当前目录:

tar -zxvf libmcrypt-x.x.x.tar.gz
  1. 编译并安装

进入解压后的目录,执行以下命令进行编译和安装:

./configure
make
sudo make install
  1. 配置LD_LIBRARY_PATH环境变量

在安装完成后,你需要将libmcrypt的路径添加到LD_LIBRARY_PATH环境变量中。你可以使用以下命令来完成这个任务:

export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

这样就完成了libmcrypt的安装过程。如果你使用的是Ubuntu或Debian等基于APT的发行版,也可以直接使用以下命令来进行安装:

sudo apt-get update
sudo apt-get install libmcrypt-dev

注意:即使你使用的是Ubuntu或Debian等基于APT的发行版,也必须安装后配置环境变量。


在安装完 libmcrypt 之后,有些 Linux 还需要安装 libltdl 库,这个库是 libmcrypt 的子软件,检查系统上是否已经安装了 libltdl 库,可以使用以下命令:

ldconfig -p | grep libltdl

如果系统上已经安装了 libltdl 库,该命令会输出类似于以下内容的信息:

libltdl.so.7 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libltdl.so.7
libltdl.so.7 (libc6) => /usr/lib/i386-linux-gnu/libltdl.so.7

这表示 libltdl 库已经安装,并且可以在 /usr/lib/x86_64-linux-gnu/ 或者 /usr/lib/i386-linux-gnu/ 目录中找到。

如果系统上没有安装 libltdl 库,该命令不会有任何输出。

3.安装mnash

mhash 是基于离散数学原理的不可逆向的 PHP 加密方式扩展库。mhash 可以用于创建校验数值,消息摘要,消息认证码,以及无须原文的关键信息保存(如密码)等。


mhash是一个开源的密码哈希库,可以在Linux系统上进行安装和使用。以下是在Ubuntu操作系统上安装mhash的步骤:


打开终端并更新包列表:

sudo apt-get update
  1. 安装mhash:
sudo apt-get install libmhash-dev
  1. 安装完成后,您可以使用以下命令来测试安装是否成功:
gcc -o test test.c -lmhash

其中,test.c是一个简单的测试程序。

  1. 运行测试程序:
./test

如果输出没有错误信息,则表示安装成功。

注:以上命令需要以root用户或拥有sudo权限的用户身份运行。

4.安装mcrypt

下面是在Linux上安装mcrypt的过程:

  1. 打开终端并以root身份登录。
  2. 使用以下命令安装mcrypt:
apt-get install mcrypt
  1. 如果您使用的不是Debian或Ubuntu,可以使用相应的包管理器来安装mcrypt。
  2. 安装完成后,您可以使用以下命令检查是否已成功安装:
mcrypt --version

如果返回了版本信息,则表示已成功安装mcrypt。


现在,您可以在Linux系统上使用mcrypt加密和解密数据。


5.zlib和libpng安装

以下是使用命令在Linux系统中安装zlib和libpng的过程:


更新包索引

打开终端窗口,运行以下命令来更新系统的包索引:

sudo apt-get update
  1. 安装zlib开发文件

运行以下命令来安装zlib开发文件:

sudo apt-get install zlib1g-dev

这将安装zlib开发文件,包括头文件和库文件,它们是编译使用zlib的程序所必需的。

  1. 安装libpng开发文件

运行以下命令来安装libpng开发文件:

sudo apt-get install libpng-dev

这将安装libpng开发文件,包括头文件和库文件,它们是编译使用libpng的程序所必需的。


验证安装是否成功

要验证zlib和libpng是否已正确安装,可以检查系统中它们的头文件和库文件是否存在。


对于zlib,可以运行以下命令检查文件zlib.h是否存在于系统中:

find /usr/include -name zlib.h

这应该输出zlib.h文件的路径,类似于/usr/include/zlib.h。

对于libpng,可以运行以下命令检查文件png.h是否存在于系统中:

find /usr/include -name png.h

这应该输出png.h文件的路径,类似于/usr/include/png.h。

6.jpeg6安装

jpeg6 软件是用来解码 .jpg 和 .jpeg 格式的图片的,在Linux中安装JPEG库,可以按照以下步骤进行:

  1. 打开终端窗口
  2. 使用以下命令安装libjpeg库:
sudo apt-get install libjpeg-dev
  1. 等待安装完成后,在终端中输入以下命令来验证安装是否成功:
pkg-config --modversion libjpeg

如果返回libjpeg的版本号,则说明安装成功。

  1. 如果您需要在C/C++程序中使用libjpeg库,可以在编译时加上以下选项:
gcc -o your_program your_source.c -ljpeg

7.安装freetype

FreeType 库是一个完全免费(开源)的、高质量的、可移植的字体引擎,它提供统一的接口来访问多种字体格式文件,包括 TrueType、OpenType、Type1、CID、CFF、Windows FON/FNT、X11 PCF 等,支持单色位图、反走样位图的渲染。


FreeType 库是高度模块化的程序库,虽然它是使用 ANSI C 开发的,但是采用面向对象的思想,因此,FreeType 的用户可以灵活地对它进行裁剪。


在Linux中,安装freetype库可以按照以下步骤进行:


打开终端窗口


使用以下命令安装freetype库的开发包:


Debian/Ubuntu:

sudo apt-get install libfreetype6-dev

CentOS/RHEL:

sudo yum install freetype-devel

等待安装完成后,在终端中输入以下命令来验证安装是否成功:

pkg-config --modversion freetype2

如果返回freetype库的版本号,则说明安装成功。


8.gd库安装

gd 库是 PHP 处理图形的扩展库,它提供了一系列用来处理图片的 API(应用程序编程接口),使用 gd 库可以处理图片或者生成图片。在网站上,gd 库通常用来生成缩略图,或者对图片加水印,或者生成汉字验证码,或者对网站数据生成报表等。


安装 GD 库可以让你在 Linux 上使用 PHP 图形库来创建和操作图片。以下是在大多数基于 Debian 的 Linux 发行版上安装 GD 库的步骤:


打开终端并以 root 用户身份登录你的服务器。

更新系统软件包列表:sudo apt-get update。

安装 GD 库和相关的依赖项:sudo apt-get install libgd-dev.

等待安装完成后,可以验证 GD 是否已正确安装。你可以执行以下命令来检查是否成功安装:php -i | grep -i gd.

如果你看到有关 GD 库信息的输出,则表明已成功安装。现在,你可以开始使用 GD 库来处理图像了。

三.环境搭建

1.LAMP环境搭建

下面是在Linux上搭建LAMP环境的步骤:


安装Linux操作系统

如果您还没有安装Linux操作系统,请先安装。Ubuntu或CentOS是比较流行的Linux发行版。


安装Apache HTTP Server

打开终端窗口,并输入以下命令来安装Apache HTTP Server:

sudo apt-get update
sudo apt-get install apache2
  1. 启动Apache

安装完成后,启动Apache服务:

sudo systemctl start apache2
  1. 配置防火墙

如果您的Linux系统中开启了防火墙,则需要配置防火墙规则以允许HTTP和HTTPS流量通过。

例如,使用iptables防火墙的CentOS 7系统,可以使用以下命令开放HTTP和HTTPS端口:

sudo firewall-cmd --permanent --zone=public --add-service=http 
sudo firewall-cmd --permanent --zone=public --add-service=https 
sudo firewall-cmd --reload
  1. 安装MySQL

输入以下命令来安装MySQL数据库:

sudo apt-get install mysql-server
  1. 测试LAMP环境

在浏览器中输入 http://localhost 可以查看Apache的默认欢迎页面。如果您能够看到它,那么您已经成功地搭建了一个基本的LAMP环境。

要测试MySQL和PHP是否正常工作,请创建一个phpinfo.php文件,并将以下内容添加到这个文件中:

<?php
phpinfo();
?>

将phpinfo.php文件复制到Apache的默认Web根目录(/var/www/html)中,并在浏览器中输入http://localhost/phpinfo.php。如果一切正常,您将看到有关PHP版本、MySQL支持和其他信息的详细列表。


2.LNMP环境搭建

LNMP环境是指Linux操作系统、Nginx服务器、MySQL数据库和PHP编程语言的组合。与LAMP环境相比,LNMP环境使用Nginx代替了Apache作为Web服务器。


下面是在Linux上搭建LNMP环境的步骤:


安装Linux操作系统

如果您还没有安装Linux操作系统,请先安装。Ubuntu或CentOS是比较流行的Linux发行版。


安装Nginx服务器

打开终端窗口,并输入以下命令来安装Nginx服务器:

sudo apt-get update
sudo apt-get install nginx

启动Nginx

安装完成后,启动Nginx服务:

sudo systemctl start nginx

配置防火墙

如果您的Linux系统中开启了防火墙,则需要配置防火墙规则以允许HTTP和HTTPS流量通过。


例如,使用iptables防火墙的CentOS 7系统,可以使用以下命令开放HTTP和HTTPS端口:

Copy Codesudo firewall-cmd --permanent --zone=public --add-service=http 
sudo firewall-cmd --permanent --zone=public --add-service=https 
sudo firewall-cmd --reload
  1. 安装MySQL

输入以下命令来安装MySQL数据库:

sudo apt-get install mysql-server

在安装期间,您将被要求设置MySQL管理员帐户的密码。

  1. 安装PHP

输入以下命令来安装PHP编程语言:

sudo apt-get install php-fpm php-mysql
  1. 配置Nginx和PHP

在/etc/nginx/sites-available目录中创建一个新文件,命名为example.com.conf。将以下内容添加到这个文件中:

server {
    listen 80;
    listen [::]:80;
    root /var/www/example.com/html;
    index index.php index.html index.htm;
    server_name example.com www.example.com;
    location / {
        try_files $uri $uri/ =404;
    }
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.2-fpm.sock;
    }
}

请替换所有出现的example.com和/var/www/example.com/html路径为您自己的域名和网站根目录。

保存并关闭文件后,使用以下命令使Nginx加载配置文件:

sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/

然后重新启动Nginx服务:

sudo systemctl restart nginx

测试LNMP环境

在浏览器中输入 http://example.com 可以查看Nginx的默认欢迎页面。如果您能够看到它,那么您已经成功地搭建了一个基本的LNMP环境。


要测试MySQL和PHP是否正常工作,请创建一个phpinfo.php文件,并将以下内容添加到这个文件中:

<?php
phpinfo();
?>

将phpinfo.php文件复制到您的网站根目录(例如,/var/www/example.com/html)中,并在浏览器中输入http://example.com/phpinfo.php。如果一切正常,您将看到有关PHP版本、MySQL支持和其他信息的详细列表。

四.其他安装

1.memcache安装

安装memcached,可以按照以下步骤进行:


安装libevent库:

sudo apt-get install libevent-dev
  1. 下载并解压缩memcached:
wget http://www.memcached.org/files/memcached-1.x.x.tar.gz
tar xvzf memcached-1.x.x.tar.gz
cd memcached-1.x.x
  1. 编译和安装memcached:
./configure
make
sudo make install

启动memcached

memcached -d -m <memory> -p <port> -u <user>

其中,<memory>为分配给memcached使用的内存大小(单位为MB),<port>为监听的端口号,<user>为运行memcached的用户。


例如,要启动一个占用128MB内存、监听11211端口,以root用户身份运行的memcached,可以使用以下命令:

memcached -d -m 128 -p 11211 -u root

注意:如果出现权限不足的错误,请以管理员身份运行该命令。

2.安装phpMyAdmin

安装phpMyAdmin,可以按照以下步骤进行:

  1. 安装Apache和PHP
sudo apt-get install apache2 php
  1. 安装MySQL
sudo apt-get install mysql-server
  1. 安装phpMyAdmin
sudo apt-get install phpmyadmin

在安装过程中会提示选择web服务器,选择Apache2并确认。

  1. 配置phpMyAdmin

打开Apache的配置文件 /etc/apache2/apache2.conf 并在底部添加以下行:

Include /etc/phpmyadmin/apache.conf
  1. 重启Apache服务器
sudo service apache2 restart

现在,你可以通过在浏览器中访问 http://<your-server-ip>/phpmyadmin/ 来登录phpMyAdmin。默认情况下,用户名为root,密码为空。

如果需要添加新的MySQL用户,可以使用以下命令:

mysql -u root -p
CREATE USER '<username>'@'localhost' IDENTIFIED BY '<password>';
GRANT ALL PRIVILEGES ON *.* TO '<username>'@'localhost';
FLUSH PRIVILEGES;
exit;

其中, <username> 和 <password> 分别是你要添加的新用户的用户名和密码。

注意:如果出现权限不足的错误,请以管理员身份运行该命令。

五.说明

今天到这里就结束了,对你有帮助就行!

相关文章
|
14天前
|
运维 监控 网络协议
|
1月前
|
存储 运维 搜索推荐
|
26天前
|
运维 Java Linux
【运维基础知识】Linux服务器下手写启停Java程序脚本start.sh stop.sh及详细说明
### 启动Java程序脚本 `start.sh` 此脚本用于启动一个Java程序,设置JVM字符集为GBK,最大堆内存为3000M,并将程序的日志输出到`output.log`文件中,同时在后台运行。 ### 停止Java程序脚本 `stop.sh` 此脚本用于停止指定名称的服务(如`QuoteServer`),通过查找并终止该服务的Java进程,输出操作结果以确认是否成功。
32 1
|
1月前
|
运维 网络协议 安全
Linux安全运维--一篇文章全部搞懂iptables
Linux安全运维--一篇文章全部搞懂iptables
37 1
|
27天前
|
Web App开发 运维 安全
1Panel:一个现代化、开源的 Linux 服务器运维管理面板
1Panel:一个现代化、开源的 Linux 服务器运维管理面板
|
2月前
|
运维 监控 Linux
深入理解Linux系统运维:命令行工具的力量
【9月更文挑战第14天】在Linux的世界里,命令行工具是系统管理员的瑞士军刀。本文将带你领略命令行的魅力,从基础操作到高级技巧,让你的运维工作更加高效和精准。准备好了吗?让我们一起开启这段探索之旅!
|
2月前
|
存储 安全 Linux
离线Linux服务器环境搭建
【9月更文挑战第3天】在离线环境下搭建Linux服务器需按以下步骤进行:首先确定服务器用途及需求,准备安装介质与所需软件包;接着安装Linux系统并配置网络;然后设置系统基础参数,如主机名与时区;安装必要软件并配置服务;最后进行安全设置,包括关闭非必要服务、配置防火墙、强化用户认证及定期备份数据。整个过程需确保软件包的完整性和兼容性。
|
3月前
|
存储 运维 监控
运维.Linux下执行定时任务(中:Cron的常用替代方案)
本文是关于Linux下执行定时任务系列的第二部分,主要探讨除了Cron之外的常用替代方案。介绍了Systemd Timers、Anacron及at命令三种工具,它们分别适用于不同场景下的定时任务需求。文章详细分析了每种工具的特点、工作原理、基本使用方法及其高级功能,并对比了它们各自的优缺点,帮助读者根据实际情况选择最适合的定时任务解决方案。此外,还提供了指向具体实例和进一步阅读材料的链接。
118 4
运维.Linux下执行定时任务(中:Cron的常用替代方案)
|
3月前
|
图形学 开发者 存储
超越基础教程:深度拆解Unity地形编辑器的每一个隐藏角落,让你的游戏世界既浩瀚无垠又细节满满——从新手到高手的全面技巧升级秘籍
【8月更文挑战第31天】Unity地形编辑器是游戏开发中的重要工具,可快速创建复杂多变的游戏环境。本文通过比较不同地形编辑技术,详细介绍如何利用其功能构建广阔且精细的游戏世界,并提供具体示例代码,展示从基础地形绘制到植被与纹理添加的全过程。通过学习这些技巧,开发者能显著提升游戏画面质量和玩家体验。
127 3
|
2月前
|
消息中间件 运维 Linux
linux之centos运维kafka
linux之centos运维kafka
下一篇
无影云桌面