在centos做网站
在CentOS上搭建网站
在现代Web开发中,CentOS(前身为Linux Red Hat)是一个非常受欢迎的操作系统,因为它稳定可靠、支持丰富的软件包,并且适合开发和部署网站,本文将详细指导您如何在CentOS上搭建一个简单的网站,包括静态网站和动态网站的部署。
系统安装
安装CentOS
您需要从源码或ISO镜像安装CentOS,以下是如何从源码安装CentOS的步骤:
-
下载源码:访问Red Hat Enterprise Linux (RHEL) 官网,下载适合您的CentOS版本(RHEL 8)的源码包。
-
解压源码:使用以下命令解压源码包:
tar -xzf rhel-release-8-x86_64.tar.gz
-
安装依赖项:安装构建依赖项,
sudo apt-get install build-essential \ libtoolkit \ build-essential \ git
-
编译CentOS:进入RHEL目录,编译源码:
cd /path/to/rhel-release-8-x86_64 sudo bash configure.sh -v sudo make sudo make install
-
检查版本:确认安装完成:
/etc/redhat-release
输出应显示安装的版本,
The following packages will be installed: [ ... ] RHEL 8 (Final) for x86_64 -
启用防火墙:启用防火墙以确保网络连接:
sudo systemctl enable networkdhost sudo systemctl enable networkfirewall
安装PHP
PHP是构建动态网站的核心语言,安装PHP 8.0及其依赖项:
sudo apt-get update sudo apt-get install php8.0 php8.0-dev sudo apt-get install php-curl php-gd php-pdo sudo apt-get install php-fpm
配置PHP
配置PHP以启用安全功能和安全提示:
sudo nano /etc/httpd/conf/httpd.conf
在编辑文件时,添加以下内容:
<Location />
ServerName your_domain_name.example.com
ServerPort 80
LoadModule php-fpm.so
Options -MultiViews
ErrorLog off
ErrorLogFile /var/log/httpd/error_log
ErrorLogFormat "%h %d %l %t %r %F %e %p %Z %c %O %Y"
Security:
ErrorLog "Security: %e %O %Y" on
ErrorLog "Security: %e %O %Y" on
ErrorLog "Security: %e %O %Y" on
Folders
/var/www/html
Deny from all
AllowOverride All
AllowRoot www.example.com
Options -MultiViews
保存并退出编辑器,然后重新加载Apache:
sudo systemctl restart apache2
域名注册与解析
注册域名
访问域名注册商(如Namecheap、GoDaddy等),选择一个易于记忆且尚未注册的域名,例如example.com。
解析域名
将域名解析到CentOS的域名解析服务上:
- 登录到CentOS的控制面板(通过
webmin或apachectl)。 - 打开
/etc/namedomers/namedom文件:sudo nano /etc/namedomers/namedom
- 添加以下内容:
@prefixexample.com @prefixexample.com - 保存并退出编辑器。
- 更新域名解析:
sudo systemctl restart nameserver
网站部署
部署静态网站
静态网站通常使用HTTP服务器(如Apache)和PHP脚本,以下是部署静态网站的步骤:
-
创建网站目录:
sudo mkdir -p /var/www/html/website
-
上传网站文件: 将
index.html、about.html等文件上传到/var/www/html/website目录。 -
配置Apache:
- 访问
/etc/httpd/conf/httpd.conf,添加以下配置:<Directory /var/www/html/website> AllowOverride All Options -MultiViews Require all granted </Directory> - 保存并重新加载Apache:
sudo systemctl restart apache2
- 访问
-
访问
http://example.com/website(假设域名已解析为example.com)。
部署动态网站
动态网站通常使用Web框架(如Laravel、Django)和数据库,以下是使用Laravel部署动态网站的步骤:
-
安装Laravel框架:
sudo apt-get install php8.0-dev sudo npm install laravel-foundation
-
创建数据库:
-
打开
/var/www/html/website/app/Database.php文件,添加以下代码:use Illuminate\Database\Eloquent\Router; use Illuminate\Database\Eloquent\Schema; use Illuminate\Database\Eloquent\Columns; use Illuminate\Database\Eloquent\Schema\Blueprint; class Database extends Eloquent { public function migrate() { $this->create(); } public function create() { Schema::create('myapp', function (Blueprint $table) { $table->id(); $table->string('name')->not nullable(); $table->string('email')->not nullable(); $table->string('password')->not nullable(); $table->string('created_at')->not nullable(); }); } }
-
-
创建用户表:
-
创建
User模型:class User extends Eloquent { use Illuminate\Database\Eloquent\Router; use Illuminate\Database\Eloquent\Schema; use Illuminate\Database\Eloquent\Columns; use Illuminate\Database\Eloquent\Schema doublerow; public function doublerow() { return new doublerow(); } public function migrate() { $this->create(); } public function create() { $this->name(); $this->email(); $this->password(); $this->created_at(); } }
-
-
配置数据库连接: 在
/var/www/html/website/app/Illuminate/Config/Database.php文件中添加:use Illuminate\Database\Eloquent\Schema; use Illuminate\Database\Eloquent\Schema; class Database extends EloquentDatabase { const DB = 'myapp'; public function __construct($config = []) { parent::__construct($config); } public function setRoot('sqlite'); } -
创建应用: 在
/var/www/html/website/app/Illuminate/Illuminate/Route/Route.php文件中添加:use Illuminate\Database\Eloquent\Router; use Illuminate\Database\Eloquent\Columns; use Illuminate\Database\Eloquent\Strings; use Illuminate\Routing\Route; class Route extends Route { public function __construct($config = []) { parent::__construct($config); } public function index() { return new Route('index', [ 'model' => User::class, 'columns' => ['name', 'email', 'password'], 'strings' => ['name' => 'Username', 'email' => 'Email', 'password' => 'Password'], ]); } } -
部署应用:
- 启动Laravel应用:
bin/laravel start
- 访问
http://example.com/website/index。
- 启动Laravel应用:
测试和部署
-
测试静态网站: 访问
http://example.com/website,确保所有页面都能正常加载。 -
测试动态网站: 访问
http://example.com/website/index,确保用户能够登录并看到页面。 -
部署到生产环境:

- 修改
/etc/httpd/conf/httpd.conf,添加生产环境配置:<Location /var/www/html/website> Indexes default </Location> - 更新域名解析:
sudo systemctl restart nameserver
- 修改
在CentOS上搭建网站非常简单,只需要安装操作系统、PHP、数据库和必要的Web框架,通过以上步骤,您可以快速构建一个静态或动态网站,随着需求的增加,可以逐步扩展网站功能,例如添加后端服务、API接口等。

