当前位置: 首页 > news >正文

开发一个企业网站需要多少钱杭州 城西 做网站

开发一个企业网站需要多少钱,杭州 城西 做网站,制作北京的名片,免费域名申请 freenom最新文章目录环境步骤安装PHP安装composer创建ThinkPHP项目验证ThinkPHP内置服务器Apache服务器参考环境 阿里云ECS服务器(CentOS 7.9) 步骤 本文使用的是CentOS操作系统,因为阿里云官方文档上说: 搭建ThinkPHP框架时,已…

文章目录

  • 环境
  • 步骤
    • 安装PHP
    • 安装composer
    • 创建ThinkPHP项目
    • 验证
      • ThinkPHP内置服务器
      • Apache服务器
  • 参考

环境

  • 阿里云ECS服务器(CentOS 7.9)

步骤

本文使用的是CentOS操作系统,因为阿里云官方文档上说:

搭建ThinkPHP框架时,已有ECS实例必须满足以下条件:

  • 操作系统必须为Alibaba Cloud Linux 3/2、CentOS 7.x。

安装PHP

安装EPEL源和Remi仓库:

sudo yum install -y epel-release
sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm

启用PHP 8.0仓库:

sudo yum-config-manager --enable remi-php80

安装PHP:

sudo yum install -y php php-cli php-fpm php-mysqlnd php-zip php-devel php-gd php-mcrypt php-mbstring php-curl php-xml php-pear php-bcmath php-json

查看PHP版本:

$ php -v
PHP 8.0.30 (cli) (built: Jun  4 2024 15:19:49) ( NTS gcc x86_64 )
Copyright (c) The PHP Group
Zend Engine v4.0.30, Copyright (c) Zend Technologies

安装composer

安装Composer所需依赖:

sudo yum install -y unzip git

安装composer:

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

换个位置:

sudo mv composer.phar /usr/local/bin/composer

查看composer版本:

$ composer --version
Composer version 2.8.11 2025-08-21 11:29:39
PHP version 8.0.30 (/usr/bin/php)
Run the "diagnose" command to get more detailed diagnostics output.

创建ThinkPHP项目

如果不用Apache,则可以在任意目录创建ThinkPHP项目。

如果要使用Apache,最简单的办法是直接在 /var/www/html (Apache的网站根目录)目录下创建项目。

首先安装Apache。可参见我另一篇文档: https://blog.csdn.net/duke_ding2/article/details/150654099

注意:在下面的操作前,先看一下 /var/www/html 的属性:

$ ll -d /var/www/html
drwxrwsr-x 2 root apache 4096 Jun  3  2024 /var/www/html

确保group是 apache

我先安装的Apache,然后安装的PHP和composer,不知道什么原因, /var/www/html 目录的group又变回成了 root 。我只好把目录的权限重新设置了一遍。

/var/www/html 目录下,运行:

composer create-project topthink/think aaa

其中 aaa 是项目名称,可任意命名。

创建成功后,会多出 aaa 目录,即项目的根目录。

查看项目结构(只列出两级子目录):

$ tree -L 2
.
├── app
│   ├── AppService.php
│   ├── BaseController.php
│   ├── common.php
│   ├── controller
│   ├── event.php
│   ├── ExceptionHandle.php
│   ├── middleware.php
│   ├── provider.php
│   ├── Request.php
│   └── service.php
├── composer.json
├── composer.lock
├── config
│   ├── app.php
│   ├── cache.php
│   ├── console.php
│   ├── cookie.php
│   ├── database.php
│   ├── filesystem.php
│   ├── lang.php
│   ├── log.php
│   ├── middleware.php
│   ├── route.php
│   ├── session.php
│   ├── trace.php
│   └── view.php
├── extend
├── LICENSE.txt
├── public
│   ├── favicon.ico
│   ├── index.php
│   ├── robots.txt
│   ├── router.php
│   └── static
├── README.md
├── route
│   └── app.php
├── runtime
├── think
├── vendor
│   ├── autoload.php
│   ├── bin
│   ├── composer
│   ├── league
│   ├── psr
│   ├── services.php
│   ├── symfony
│   └── topthink
└── view└── README.md16 directories, 35 files

注:ThinkPHP的安装配置,参见我另一篇文档: https://blog.csdn.net/duke_ding2/article/details/150351146

验证

ThinkPHP内置服务器

在项目根目录下,运行:

php think run

打开8000端口:

sudo iptables -I INPUT -p tcp --dport 8000 -j ACCEPT

在浏览器里访问 http://<公网IP>:8000

在这里插入图片描述

Apache服务器

Apache默认使用80端口。打开80端口:

sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT

前面提到,可以把ThinkPHP项目部署在 /var/www/html/aaa ,其中,Apache服务器的网站根目录是 /var/www/html ,因此,浏览器访问地址是 http://<公网IP>/aaa/public

注:ThinkPHP的入口文件是 public/index.php ,其中 index.php 可以省略。

如果看到的是PHP文件的源码( index.php ),可能是因为 php-fpm 服务没有启动。

检查 php-fpm 服务状态:

sudo systemctl status php-fpm

如果尚未启动,则启动它:

sudo systemctl start php-fpm

并将其加入开机启动:

sudo systemctl enable php-fpm

重启Apache服务:

sudo systemctl restart httpd

刷新页面,现在就OK了。

在这里插入图片描述

但是,目前还有两个个问题。

  • 问题1: http://<公网IP>/aaa/public 这样的URL既不美观,也不安全
  • 问题2:当访问其它目录时,比如 http://<公网IP>/aaa ,会直接列出目录结构:

在这里插入图片描述

解决办法:使用虚拟主机,使得 http://<ip> 直接指向 /var/www/html/aaa/public

在Apache的主配置文件( /etc/httpd/conf.d/httpd.conf )里,有如下内容:

IncludeOptional conf.d/*.conf

因此,我们可以创建一个单独的配置文件 aaa.conf ,以免混淆。

/etc/httpd/conf.d 目录下创建文件 aaa.conf (需要sudo权限),内容如下:

<VirtualHost *:80># 设置管理员邮箱,可选ServerAdmin webmaster@localhost# !!! 核心配置:将文档根目录设置为ThinkPHP的public目录 !!!DocumentRoot "/var/www/html/aaa/public"# 设置服务器域名,如果没有域名,可以用IP或留空ServerName <公网IP># 定义对文档根目录的访问权限<Directory "/var/www/html/aaa/public"># 允许覆盖Apache配置(.htaccess文件生效所需)AllowOverride All# 访问权限控制Require all granted# 可选:设置目录索引文件,index.php优先于index.htmlDirectoryIndex index.php index.html index.htm</Directory># 错误日志和访问日志路径,方便排查问题ErrorLog /var/log/httpd/aaa_error.logCustomLog /var/log/httpd/aaa_access.log combined# 确保Apache能正确处理PHP文件(如果全局已配置则可省略)<FilesMatch \.php$># SetHandler "proxy:unix:/run/php-fpm/www.sock|fcgi://localhost"SetHandler "proxy:fcgi://127.0.0.1:9000"</FilesMatch>
</VirtualHost>

注释事项:

  • ServerName :设置为域名(如果有的话)或者公网IP
  • SetHandler :根据服务器上PHP-FPM的实际配置,替换成正确的路径,具体可通过 sudo grep -r 'listen =' /etc/php-fpm.d/www.conf 来查看。此处如果配置不正确的话,访问页面会报错“Service Unavailable”:

在这里插入图片描述

修改配置后,要重启php-fpm和httpd服务:

sudo systemctl restart php-fpmsudo systemctl restart httpd

现在,只需访问 http://<公网IP>

在这里插入图片描述

访问其它地址,会报错:

在这里插入图片描述

参考

  • https://help.aliyun.com/zh/ecs/use-cases/building-thinkphp-framework
  • https://help.aliyun.com/zh/ecs/getting-started/use-the-ecs-instance-in-the-console
  • https://help.aliyun.com/zh/ecs/use-cases/build-a-lamp-stack-on-a-centos-7-instance
  • https://blog.csdn.net/duke_ding2/article/details/150351146
http://www.dtcms.com/a/517181.html

相关文章:

  • 宁夏建设厅网站领导怎么做网站关键词库排名
  • 企业网站备案流程品牌建设措施
  • 北京网站优化体验软件技术专业介绍
  • 【Windows10】开机自启VMware workstation16
  • 功能型网站建设时间哈尔滨做平台网站平台公司哪家好
  • 基于改进UNet的脑电信号去噪方法研究
  • 中企动力 35 做网站flash网站尺寸
  • 番禺区网站建设哪里有网页设计与制作报告书
  • Linux-权限与开发工具
  • 网站空间多大wordpress更换主机
  • 重庆潼南网站建设全球华设计大奖
  • linux学习笔记(51)Redis发布订阅 主从复制 缓存 雪崩
  • 品牌建设助力高质量发展seo排名是什么意思
  • 软考 系统架构设计师系列知识点之杂项集萃(178)
  • 【开题答辩全过程】以短视频推荐系统的设计与实现为例,包含答辩的问题和答案
  • GPTBots 工作流:让AI从“会说“到“会做“的技术演进引言:企业AI化的瓶颈在哪里?
  • 基于跨临界CO2热力循环除霜过程
  • 北京中燕建设公司网站建e网室内设计网官网vr全景
  • 图片类网站模板金华专业网站制作公司
  • 网站美工主要工作是什么北京seo排名外包
  • 十进制的ASCII码表
  • 网站开发怎样搭建快速搭建网站视频
  • 网站建设大德通众包wordpress 分页导航无效
  • 网站建设与维护ppt新项目首码发布渠道
  • 湘潭建设网站公司wordpress 注册 中文版
  • 如何把国外的网站在国内做镜像百度引流推广
  • 广告型网站网站加载速度慢
  • 13、【Ubuntu】【VSCode】VSCode 断联问题分析:hostname(一)
  • python-day8
  • Metropolis接受准则:随机模拟与优化中的关键基石