一次服务器环境搭建的记录(nginx+php+subversion)

本文涉及的产品
云防火墙,500元 1000GB
简介: 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chengyi_L/article/details/50699523 因同事工作任务比较紧,自己又刚提出离职所以暂时比较闲。
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chengyi_L/article/details/50699523

因同事工作任务比较紧,自己又刚提出离职所以暂时比较闲。

在同事询问下决定帮助完成服务器环境的搭建任务。通过之前原有的安装包以及网上教程一步一步实现的搭建过程



安装nginx:
从网上下载nginx安装包,解压,得到源文件之后编译并安装。命令如下
tar zxvf *.tar.gz
./configure --prefix=/webdir/nginx


这里报错:大概意思是rewrite module 缺少prce库。
上网查了一下prce库是一个基于c++的正则库。
上网下载是prce的zip压缩包
unzip *.zip
./configure
make
make install
成功安装prce库


继续安装nginx
./configure --prefix=/webdir/nginx
make
make install
这里成功了。


下一步准备进nginx/sbin目录去启动nginx
nginx -c /webdir/nginx/conf/nginx.conf
又报错:
error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
进入/lib64目录发现只有libpcre.so.0和libpcre.so.0.0.1。且so.0是链接到so.0.0.1的。于是创建新的link:
ln -s libpcre.so.0.0.1 libpcre.so.1
这次启动成功了


但是访问服务器的时候长时间无响应


输入netstat -ntlp查看端口状态看到nginx正在监听80端口 
最后查看防火墙,发现是防火墙的错误:

于是在防火墙中开发80端口:

添加规则:

iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

保存:

/etc/init.d/iptables save

重启防火墙

/etc/init.d/iptables restart

能访问到nginx预设的index.html。





php安装:
从网上down下来php解压包之后。
tar zxvf *.tar.gz
./configure --prefix=/webdir/php
make
make install
安装完成
配置nginx.conf里的index默认为index.php
在项目根目录下新建index.php
访问项目之后报错,该页面不可访问。原因是没有启动php-fpm,nginx服务器找不到fast-cgi来处理php文件。
回到php目录发现找不到php-fpm。
上网查找原因,是在./configure步骤时,没有指定激活php-fpm
于是删除文件夹,make clean 重新安装。
./configure --prefix=/webdir/php --enable-fastcgi --enable-fpm --with-curl
make
make install
安全完成之后重启nginx,成功




svn安装记录:
1.这里不需要从网上去down安装包,直接一行命令yum -y install subversion(之前因为打错名字svn名字而报错了)
2.创建版本库  svnadmin create /webdir/svndata
3.进入修改svndata配置文件。主要修改conf hooks(这里记住,修改svnserver.conf的时候。 # auth-access = write不能仅仅去掉#号。还要向前退格,不


能出现空格),在修改authz文件的时候注意在[/]下添加账号
4.启动svn服务器 svnserve -d -r /webdir/svndata
以上几步已经成功安装了svn服务器并启动
5.在nginx/html下checkout一个svn项目

6.在自己电脑上checkout,这一步发现报错,无法连接svn服务器,这里应该是跟之前无法访问nginx一个原因,svn相应的端口没有在防火墙中开放,于是在iptables中新增路由规则:

1>iptables -I INPUT -i eth0 -p tcp --dport 3690 -j ACCEPT

2>iptables -I OUTPUT -o eth0 -p tcp --sport 3690 -j ACCEPT

保存:/etc/init.d/iptables save

重启防火墙: /etc/init.d/iptables restart 

成功

并add一个文件。这时候报错。post-commit error_code 255,由于我是直接从其他服务器下趴来的Post-commit文件,在上传的时

候可执行属性被干掉了。于是修改post-commit文件为可执行文件之后,能够commit并且更新文件了。(在某些机器最后加上 exit 0 )


最后将fpm,nginx,svn服务器的启动程序加入/etc/rc.local

/webdir/php/sbin/php-fpm
/webdir/nginx/sbin/nginx
svnserve -d -r /webdir/svndata

完成

目录
相关文章
|
13天前
|
PHP 开发者
PHP作为一门流行的服务器端脚本语言,深入理解PHP的命名空间
【10月更文挑战第22天】PHP作为一门流行的服务器端脚本语言,自1995年诞生以来,已经发展了二十多年。在这二十多年的时间里,PHP经历了多次重大版本的更新,不断增加新特性和改进。其中,命名空间(Namespace)是PHP 5.3.0引入的一个重要特性,它为PHP的代码组织和重用提供了一种新的方式。本文将从三个部分深入理解PHP的命名空间:一是命名空间的基本概念和作用;二是PHP命名空间的使用方法;三是通过实例讲解命名空间的应用。
20 4
|
2月前
|
域名解析 关系型数据库 MySQL
基于PHPEnv的本地环境搭建—PHP第一个项目:HelloWorld(从安装到运行)
该文章指导如何使用PHPEnv搭建本地PHP开发环境,并通过一个简单的"Hello World"程序演示从安装到运行的全过程。
基于PHPEnv的本地环境搭建—PHP第一个项目:HelloWorld(从安装到运行)
|
1月前
|
tengine 应用服务中间件 Linux
Tengine、Nginx安装PHP命令教程
要在阿里云Linux上安装PHP,请先更新YUM源并启用PHP 8.0仓库,然后安装PHP及相关扩展。通过`php -v`命令验证安装成功后,需修改Nginx配置文件以支持PHP,并重启服务。最后,创建`phpinfo.php`文件测试安装是否成功。对于CentOS系统,还需安装EPEL源和Remi仓库,其余步骤类似。完成上述操作后,可通过浏览器访问`http://IP地址/phpinfo.php`测试安装结果。
|
1月前
|
分布式计算 资源调度 Hadoop
大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
67 4
|
1月前
|
Java PHP
PHP作为广受青睐的服务器端脚本语言,在Web开发中占据重要地位。理解其垃圾回收机制有助于开发高效稳定的PHP应用。
【10月更文挑战第1天】PHP作为广受青睐的服务器端脚本语言,在Web开发中占据重要地位。其垃圾回收机制包括引用计数与循环垃圾回收,对提升应用性能和稳定性至关重要。本文通过具体案例分析,详细探讨PHP垃圾回收机制的工作原理,特别是如何解决循环引用问题。在PHP 8中,垃圾回收机制得到进一步优化,提高了效率和准确性。理解这些机制有助于开发高效稳定的PHP应用。
43 3
|
2月前
|
设计模式 数据库连接 PHP
PHP中的设计模式:如何提高代码的可维护性与扩展性在软件开发领域,PHP 是一种广泛使用的服务器端脚本语言。随着项目规模的扩大和复杂性的增加,保持代码的可维护性和可扩展性变得越来越重要。本文将探讨 PHP 中的设计模式,并通过实例展示如何应用这些模式来提高代码质量。
设计模式是经过验证的解决软件设计问题的方法。它们不是具体的代码,而是一种编码和设计经验的总结。在PHP开发中,合理地使用设计模式可以显著提高代码的可维护性、复用性和扩展性。本文将介绍几种常见的设计模式,包括单例模式、工厂模式和观察者模式,并通过具体的例子展示如何在PHP项目中应用这些模式。
|
2月前
|
存储 安全 Linux
离线Linux服务器环境搭建
【9月更文挑战第3天】在离线环境下搭建Linux服务器需按以下步骤进行:首先确定服务器用途及需求,准备安装介质与所需软件包;接着安装Linux系统并配置网络;然后设置系统基础参数,如主机名与时区;安装必要软件并配置服务;最后进行安全设置,包括关闭非必要服务、配置防火墙、强化用户认证及定期备份数据。整个过程需确保软件包的完整性和兼容性。
|
3月前
|
UED
JSF文件下载:解锁终极文件传输秘籍,让你的Web应用瞬间高大上!
【8月更文挑战第31天】掌握JSF文件下载功能对构建全面的Web应用至关重要。本文通过具体代码示例,详细介绍如何在JSF中实现文件下载。关键在于后端Bean中的文件读取与响应设置。示例展示了从创建实体类到使用`<h:commandLink>`触发下载的全过程,并通过正确设置响应头和处理文件流,确保文件能被顺利下载。这将显著提升Web应用的实用性与用户体验。
66 0
|
3月前
|
JavaScript 搜索推荐 API
Angular携手Angular Universal:全面实现服务器端渲染技术——从环境搭建到部署的详尽指南
【8月更文挑战第31天】在现代Web开发中,服务器端渲染(SSR)对于提升应用加载速度和SEO至关重要。Angular Universal作为Angular的SSR解决方案,允许在服务器上渲染应用,再发送至客户端,显著提高初始加载速度。本文将详细介绍如何使用Angular和Angular Universal实现SSR,并分享最佳实践。
48 0
|
3月前
|
Linux 应用服务中间件 网络安全
【Azure 应用服务】查看App Service for Linux上部署PHP 7.4 和 8.0时,所使用的WEB服务器是什么?
【Azure 应用服务】查看App Service for Linux上部署PHP 7.4 和 8.0时,所使用的WEB服务器是什么?