当需要在局域网内搭建一个具备一定功能的服务器时,可以采用搭建Linux局网服务器的方式。本攻略将详细讲解如何组建Linux局网服务器,包括软硬件环境搭建以及基本操作和功能实现。
硬件环境
首先,需要准备一台电脑作为服务器。最好是一台内存比较大的台式电脑或服务器,要求至少4GB内存,可以运行64位操作系统。如果是笔记本电脑,需外接键盘鼠标显示器。
软件环境
操作系统
选择一款基于Linux的操作系统。目前比较流行的有Ubuntu
、Debian
、CentOS
和Fedora
等。这里以Ubuntu 18.04
为例。
配置IP地址
在终端里输入ip a
查看当前电脑的IP地址和网络情况。可以手动配置电脑的IP地址为静态IP,也可以在路由器中通过MAC地址绑定给电脑分配静态IP。
安装必要的软件和工具
sudo apt-get update # 更新系统软件源
sudo apt-get install ssh # 安装ssh,用于通过远程终端连接到服务器
sudo apt-get install apache2 # 安装Apache2,用于搭建网站服务器
sudo apt-get install mysql-server # 安装MySQL数据库
sudo apt-get install php libapache2-mod-php php-mysql # 安装PHP以及与Apache2和MySQL配合使用的插件
常用功能实现和使用
创建远程连接(SSH)
在其他计算机上打开终端,输入以下命令:
ssh server_username@server_ip_address
其中,server_username
为在服务器上创建的用户名,server_ip_address
为服务器的IP地址。
搭建网站服务器(Apache2)
默认情况下,Apache2 web服务器安装完成后会自动启动和进行配置。可以在浏览器中输入http://localhost
或者输入本机IP地址来检查Apache2的安装和配置情况。
搭建和使用MySQL数据库
创建用户和数据库
在终端输入以下命令创建一个新用户和密码,并赋予这个用户所有数据库的权限:
sudo mysql -u root # 以管理员身份登录MySQL
CREATE USER 'new_user'@'localhost' IDENTIFIED BY 'password'; # 创建新用户new_user
GRANT ALL PRIVILEGES ON *.* TO 'new_user'@'localhost'; # 赋予新用户所有数据库的权限
创建数据库
在终端中输入以下命令来创建一个新数据库:
CREATE DATABASE new_database;
使用MySQL数据库
可以在终端中输入以下命令来连接到MySQL数据库,并开始操作数据库:
mysql -u user_name -p # 登陆 MySQL 系统
use database_name; # 进入 database_name 数据库
show tables; # 显示 database_name 数据库内的表
搭建基于PHP的Web应用程序
除了使用Apache2来搭建Web服务器以外,还可以使用PHP在服务器端编写Web应用程序。客户端使用浏览器访问Web页面时,服务器会自动读取PHP文件并在服务器端进行处理,然后将结果返回给客户端。
// 这里是一个简单的PHP脚本,用于在浏览器显示"Hello World"字符串
<?php
echo "Hello World";
?>
将PHP文件保存到Apache2的默认web目录/var/www/html
下之后,在浏览器中输入服务器的IP地址,即可看到"Hello World"被显示在页面上。
示例1:使用Python在Linux服务器上自动备份数据库
首先,需要在服务器上安装Python和pip工具。可以在终端中输入以下命令在服务器上安装pip:
sudo apt-get install python3-pip
接着,使用pip安装用于连接MySQL数据库的Python库mysql-connector-python
:
pip3 install mysql-connector-python
编写Python脚本文件backup_database.py
,用来备份MySQL数据库:
import mysql.connector as mysql
from datetime import date
db_config = {
'user': 'new_user',
'password': 'password',
'host': 'localhost',
'database': 'test_db'
}
backup_file = date.today().strftime('%Y%m%d') + '_backup.sql' # 备份文件名为当天日期加上"_backup.sql"
# 备份SQL命令
backup_command = f"mysqldump --opt {db_config['database']} -u {db_config['user']} -p{db_config['password']} > {backup_file}"
conn = mysql.connect(**db_config)
try:
cursor = conn.cursor()
cursor.execute("SELECT DATABASE()")
database_name = cursor.fetchone()[0]
print(f"Connection established to {database_name}")
cursor.execute(backup_command) # 执行备份SQL命令
print(f"{database_name} backed up successfully to {backup_file}")
except mysql.Error as e:
print(e)
finally:
cursor.close()
conn.close()
接着,将Python脚本文件传输到服务器上,并使用python backup_database.py
命令执行脚本。
示例2:使用Flask编写Web应用程序
在服务器上使用pip安装Flask框架:
pip3 install flask
编写Flask应用程序,保存为文件app.py
:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return "Hello, World!"
if __name__ == '__main__':
app.run(debug=True)
将程序文件传输到服务器上,并使用python app.py
命令运行程序。在浏览器中输入服务器的IP地址,可以看到"Hello, World!"被显示在页面上。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:组网不求人!搭建简易Linux局网服务器 - Python技术站