使用OpenBSD在Vultr上配置BGP
Vultrs BGP功能使您可以拥有自己的IP空间并在我们的任何位置使用它,而OpenBSD实例则不需要其他软件!
FEMP堆栈类似于Linux上的LEMP堆栈,是通常安装在一起以使FreeBSD服务器托管动态网站和Web应用程序的开源软件的集合。FEMP是FreeBSD,Nginx,MySQL和PHP的首字母缩写。
在本指南中,我们将使用pkgFreeBSD软件包管理器在FreeBSD 12.0 Vultr实例上部署FEMP堆栈的元素。
在开始本指南之前,您需要满足以下条件:
sudo用户或进行配置更改的用户。检查FreeBSD版本。
uname -ro
# FreeBSD 12.0-RELEASE-p6
确保您的FreeBSD系统是最新的。
freebsd-update fetch install
pkg update && pkg upgrade -y
安装必要的软件包。
pkg install -y sudo vim bash curl
使用您的首选用户名创建一个新的用户帐户。我们使用johndoe。
adduser
# Username: johndoe
# Full name: John Doe
# Uid (Leave empty for default): <Enter>
# Login group [johndoe]: <Enter>
# Login group is johndoe. Invite johndoe into other groups? []: wheel
# Login class [default]: <Enter>
# Shell (sh csh tcsh nologin) [sh]: bash
# Home directory [/home/johndoe]: <Enter>
# Home directory permissions (Leave empty for default): <Enter>
# Use password-based authentication? [yes]: <Enter>
# Use an empty password? (yes/no) [no]: <Enter>
# Use a random password? (yes/no) [no]: <Enter>
# Enter password: your_secure_password
# Enter password again: your_secure_password
# Lock out the account after creation? [no]: <Enter>
# OK? (yes/no): yes
# Add another user? (yes/no): no
# Goodbye!
运行visudo命令并取消注释该%wheel ALL=(ALL) ALL行,以允许该wheel组的成员执行任何命令。
visudo
# Uncomment by removing hash (#) sign
# %wheel ALL=(ALL) ALL
现在,使用切换到新创建的用户su:
su - johndoe
注意: 用您的用户名替换johndoe。
设置时区:
sudo tzsetup
您可以使用FreeBSD的软件包管理器安装Nginx pkg。软件包管理器使您可以轻松地从FreeBSD维护的存储库中安装大多数软件。您可以在此处了解更多有关如何使用的pkg信息。
要安装最新的主线Nginx,请发出以下命令:
sudo pkg install -y nginx-devel
检查版本:
nginx -v
# nginx version: nginx/1.17.1
此命令将安装最新的主线版本,该版本可以在生产服务器上可靠地使用。如果要安装最新的稳定版本,只需使用nginxpackage而不是nginx-devel。
现在,启用并启动Nginx:
sudo sysrc nginx_enable=yes
sudo service nginx start
要检查Nginx是否已启动,可以运行以下命令:
sudo service nginx status
结果,您将看到类似于以下内容:
# Output
nginx is running as pid 17607.
您可以通过在Web浏览器中访问服务器的公共IP地址来验证Nginx是否已安装并正常工作。导航至your_server_IP。您将看到默认的“欢迎使用nginx!”。页。
同样,您可以利用它pkg来获取和安装软件。
使用pkg以下命令安装MySQL :
sudo pkg install -y mysql80-client mysql80-server
检查版本:
mysql --version
# mysql Ver 8.0.16 for FreeBSD12.0 on amd64 (Source distribution)
现在,启用并启动MySQL:
sudo sysrc mysql_enable=yes
sudo service mysql-server start
要检查MySQL是否已启动,可以运行以下命令:
sudo service mysql-server status
您将看到类似于以下内容:
# Output
mysql is running as pid 19066.
作为一种好的做法,您应该运行mysql_secure_installation安全脚本,该脚本将删除一些不安全的默认值,并稍微限制对数据库系统的访问。
sudo mysql_secure_installation
系统将要求您设置密码,然后提出其他一些问题。输入一个强密码,然后对其余问题按ENTER选择默认值。
要安装PHP 7.3使用pkg,运行以下命令:
sudo pkg install -y php73
检查版本。
php --version
# PHP 7.3.7 (cli) (built: Jul 18 2019 01:14:37) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.3.7, Copyright (c) 1998-2018 Zend Technologies
软链接php.ini-production到php.ini。
sudo ln -s /usr/local/etc/php.ini-production /usr/local/etc/php.ini
现在,启用并启动PHP-FPM:
sudo sysrc php_fpm_enable=yes
sudo service php-fpm start
要检查PHP-FPM是否已启动,可以运行以下命令:
sudo service php-fpm status
结果,您将看到类似的内容:
# Output
php_fpm is running as pid 23005.
为了增强PHP的功能,您可以选择安装一些其他模块。
要查看当前在PHP模块中编译的代码,可以运行以下命令:
php -m
# [PHP Modules]
# Core
# date
# libxml
# mysqlnd
# pcre
# Reflection
# SPL
# standard
# [Zend Modules]
要搜索可用的PHP模块,可以使用以下命令:
pkg search ^php73-*
结果将主要是可以安装的PHP 7.3模块:
# Output
# php73-7.3.7 PHP Scripting Language
# php73-Ice37-3.7.2 Modern alternative to object middleware such as CORBA/COM/DCOM/COM+
# php73-aphpbreakdown-2.2.2 Code-Analyzer for PHP for Compatibility Check-UP
# php73-aphpunit-1.8 Testing framework for unit tests
# php73-bcmath-7.3.7 The bcmath shared extension for php
# php73-brotli-0.7.0 Brotli extension for PHP
# php73-bsdconv-11.5.0 PHP wrapper for bsdconv
# php73-bz2-7.3.7 The bz2 shared extension for php
# php73-calendar-7.3.7 The calendar shared extension for php
# php73-composer-1.8.6 Dependency Manager for PHP
# php73-ctype-7.3.7 The ctype shared extension for php
# php73-curl-7.3.7 The curl shared extension for php
# . . .
经过研究后,如果您决定需要安装软件包,则可以使用以下pkg install命令进行安装。大多数PHP Web应用程序将需要其他模块,因此很高兴知道如何搜索它们。
在使用PHP之前,必须先配置它以与Nginx一起使用。
运行sudo vim /usr/local/etc/nginx/test.conf并使用以下内容填充文件:
server {
listen 80;
server_name SERVER_IP; # Replace with your IP or hostname
root /usr/local/www/nginx-dist;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
保存文件并使用:+ W+ 退出Q
现在我们需要包含test.conf在主nginx.conf文件中。为Nginx的主配置文件下的生活/usr/local/etc/nginx作为nginx.conf。
运行sudo vim /usr/local/etc/nginx/nginx.conf以在Vim中打开主配置文件,并将以下行添加到http {}块中。
include test.conf;
测试Nginx配置:
sudo nginx -t
因为您已经在Nginx中进行了配置更改,所以必须重新加载要应用的服务。否则,Nginx将仍然可以使用早期的配置。
sudo service nginx reload
要测试您的系统是否正确配置了PHP,可以创建一个非常基本的PHP脚本。您将调��此脚本info.php。默认情况下,root设置为/usr/local/www/nginx-dist。您可以info.php在该位置下创建文件:
sudo vim /usr/local/www/nginx-dist/info.php
将此代码添加到该文件:
<?php phpinfo(); ?>
导航至http://your_server_IP/ìnfo.php,您将看到以下页面:

安装和设置后,您应该删除info.php文件,以避免向公众公开有关服务器的信息。
sudo rm /usr/local/www/nginx-dist/info.php
恭喜,您已经在FreeBSD 12.0 VPS上成功安装了FEMP堆栈。现在,您可以选择下一步做什么。您已经安装了一个平台,该平台将允许您在其之上安装大多数类型的网站和网络软件。
Vultrs BGP功能使您可以拥有自己的IP空间并在我们的任何位置使用它,而OpenBSD实例则不需要其他软件!
简介FreeBSD是一种类似于Unix的开源操作系统,用于为现代服务器,台式机和嵌入式平台提供动力。Netflix,雅虎等巨人!
本文中的信息涉及修改磁盘,分区和文件系统,因此在执行任何示例之前,应先完全理解它们,因为它们会导致数据丢失或丢失。
使用其他系统?Omeka Classic 2.4 CMS是一个免费的开源数字发布平台和用于共享数字内容的内容管理系统(CMS)
在Linux和Unix系统管理员中,使用sudo用户访问服务器并在root级执行命令是一种非常普遍的做法。使用泡沫
使用其他系统?osTicket是一个开放源代码的客户支持票务系统。osTicket源代码公开托管在Github上。在本教程中
使用其他系统?Dolibarr是面向企业的开源企业资源计划(ERP)和客户关系管理(CRM)。多利巴尔
Ghost是与WordPress竞争的最新,最大的暴发户。主题开发既快速又容易学习,因为Ghost开发人员决定同时使用
使用其他系统?Monica是一个开源的个人关系管理系统。可以将其视为CRM(销售团队使用的一种流行工具
使用其他系统?Couch CMS是一个简单,灵活,免费和开源的内容管理系统(CMS),可让Web设计人员进行设计
使用其他系统?LimeSurvey是一个用PHP编写的开源调查软件。LimeSurvey源代码托管在GitHub上。本指南将向您展示
使用其他系统?TLS 1.3是传输层安全性(TLS)协议的版本,该协议于2018年作为RFC 8446中的建议标准发布
使用其他系统?MyBB是一个免费,开放源代码,直观且可扩展的论坛程序。MyBB源代码托管在GitHub上。本指南将
尽管ejabberd非常普遍,但最近有一个竞争对手-Prosody。本教程将向您展示如何在FreeBS上设置Prosody
从9.2版开始,FreeBSD引入了一个新工具来替换旧的pkg _ *-命令-pkg,也称为pkgng。它非常类似于Debians apt o
使用其他系统?Matomo(以前称为Piwik)是一个开源分析平台,是Google Analytics(分析)的一种开放替代方案。Matomo源托管o
使用其他系统?ProcessWire CMS 3.0是一个简单,灵活,功能强大,免费和开源的内容管理系统(CMS)。ProcessWire CMS 3。
使用其他系统?TLS 1.3是传输层安全性(TLS)协议的版本,该协议于2018年作为RFC 8446中的建议标准发布
使用其他系统?Redaxscript 3.2 CMS是一款现代,超轻量级,免费和开源的内容管理系统(CMS),具有火箭fas
使用其他系统?简介BookStack是一个简单的,自托管的易于使用的平台,用于组织和存储信息。BookStack已满
在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。
快速学习如何在Ubuntu 16.04上安装OpenSIPS控制面板,为VoIP提供商提供支持的功能。
学习如何在Fedora 28上安装Akaunting,一款适合小型企业和自由职业者的开源会计软件。
使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。
了解導致Minecraft延遲的原因和解決方案,包括優化伺服器性能和減少滯後的步驟。
勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根
ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。
Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+
閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。
最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息