-
在Debian 10 Buster上与YouPHPTube一起运行自己的视频共享网站
本教程将向您展示如何在Debian 10 Buster上使用YouPHPTube运行自己的视频共享网站。YouPHPTube是YouTube、Vimeo等视频共享网站的开源、自托管替代方案。使用YouPHPTube,您可以将视频上传到自己的服务器,并与互联网共享。 YouPHPTube功能 无限和同步的直播流,你可以有无限的用户连接到每个直播流。 直接从互联网导入和编码其他网站的视频 从本地视频目录批量编码 制作私人视频 与Youtube完全集成的功能,允许您将视频与Youtube同步 将多种格式的多媒体文件转换为MP4、WebM和MP3文件 支持Amazone S3(简单存储服务) 响应性网站布局。YouPHPTube在任何设备上都令人难以置信。(您可以选择YouTube或Netfilx样式的布局。) 用户频道和用户播放列表 订阅你喜欢的频道 您可以使用YouPHPTube统计信息中的最新指标和报告来监控视频的性能。 使用插件扩展站点功能。 搜索引擎优化 iOS和安卓应用可用 YouPHPTube服务器要求 首先,你应该知道,对于视频共享网站来说,单核CPU是不可行的,因为编码过程会占用大量CPU资源。 然后根据站点的用户数量选择服务器规格。 如果你只想用它来分享你自己的视频,你需要一个至少有2个CPU核和4GB内存的服务器。您可以从Contabo购买功能强大的VPS(虚拟专用服务器),成本很低。 如果你希望你的站点有几十个用户,那么你可以考虑Cababo特大VPS,它有10个CPU内核,60GB RAM,1Gb/s端口速度,1.6TB磁盘空间,无限流量,但成本只有26.99欧元/月。 当你的网站增长超过这个范围时,你应该购买一台专用服务器。 在Debian 10 Buster上安装YouPHPTube的软件要求 YouPHPTube需要PHP和MySQL/MariaDB。要学习本教程,您应该已经设置了灯堆栈或LEMP堆栈。如果您更喜欢使用ApacheWeb服务器,请安装LAMP堆栈。 如何在Debian 10 Buster上安装LAMP(Apache、MariaDB、PHP)堆栈 如果您更喜欢使用Nginx web服务器,请安装LEMP stack。 如何在Debian 10 Buster上安装LEMP(Nginx、MariaDB、PHP)堆栈 注:Nginx对YouPHPTube的支持只是实验性的。如果使用Nginx,可能会出现问题。 你还需要一个域名。我在namescape注册了我的域名,因为价格低廉,而且他们终身免费保护whois的隐私。 YouPHPTube由两部分组成。 主要部分是前端拖缆服务器,它允许用户观看现有视频。 另一部分是编码器,它允许用户上传视频。 公共编码器使用域名编码器。youphptube。通用域名格式。如果你不想让用户在上传视频时离开你的网站,你需要设置你的私人编码器。在本文中,我将向您展示如何进行。不用麻烦了,我们开始吧。 步骤1:在Debian 10 Buster服务器上下载YouPHPTube 通过SSH登录Debian 10 Buster服务器。然后转到web根目录。 cd/var/www/ 从Github克隆YouPHPTube拖缆存储库。 sudo apt安装git sudo git clonehttps://github.com/YouPHPTube/YouPHPTube.git 然后进入目录。 cd YouPHPTube/ 从Github克隆YouPHPTube编码器存储库。 sudo git克隆https://github.com/YouPHPTube/YouPHPTube-Encoder.git 它将另存为YouPHPTube编码器。我们将其重命名为upload,以便用户在上传视频时更好地了解此URL的用途。 sudo mv YouPHPTube编码器上传 接下来,我们需要将www数据(web服务器用户)作为web根的所有者。 sudo chown www-data:www-data/var/www/YouPHPTube/-R 第2步:安装依赖项 YouPHPTube使用FFmpeg对视频进行编码。我们可以从默认的Debian存储库轻松安装FFmpeg。 sudo apt安装ffmpeg 要在多媒体文件中读写元信息,我们需要安装libimage exiftool perl包。 sudo apt安装libimage exiftool perl 您还需要安装一些常见的PHP扩展。 sudo apt安装php7。3-cli php7。3-常见php7。3-json php7。3-opcache php7。3-readline php7。3-卷曲php7。3-gd php7。3-xml 要从其他网站获取视频,我们需要安装YouTube DL。虽然它包含在Debian存储库中,但已经过时了。我们将从Python包索引安装YouTube DL,该索引始终包含最新版本的YouTube DL。 sudo apt install python3 pip sudo-H pip3 install youtube dl 使用最新版本非常重要,否则可能无法从其他网站下载视频。我们可以创建一个Cron作业来自动检查并安装最新版本。 sudo crontab-e 在Crontab文件的末尾添加以下行,尝试每天升级YouTube DL。 @每日sudo-H pip3安装——升级youtube dl>/dev/null 第3步:在MariaDB中创建数据库和用户 使用以下命令登录MariaDB数据库服务器。由于MariaDB现在使用unix_socket插件来验证用户登录,因此无需输入MariaDB根密码。我们只需要在mysql命令前面加上sudo。 sudo mysql 然后为YouPHPTube创建一个数据库。本教程将数据库命名为YouPHPTube。你可以用任何你喜欢的名字。 创建数据库YouPHPTube; 创建数据库用户。同样,您可以使用此用户的首选名称。用首选密码替换密码。 创建用户youphptube@localhost由“您的密码”标识; 授予此用户在youphptube数据库上的所有权限。 授予YouPHPTube上的所有特权。*到youphptube@localhost; 我们还需要为编码器创建一个单独的数据库。 创建数据库YouPHPTubeEncoder; 为此数据库创建一个用户。 创建用户encoder@localhost由“您的密码”标识; 授予特权。 授予YouPHPTubeEncoder的所有特权。*到encoder@localhost; 刷新特权表并退出。 同花顺特权;出口 第4步:设置Web服务器 我们可以使用Apache或Nginx web服务器。 阿帕奇 如果您喜欢Apache,可以使用命令行文本编辑器(如Nano)为YouPHPTube创建一个虚拟主机文件。 sudo nano/etc/apache2/sites available/youphptube。形态 将以下文本放入文件中。用实际数据替换红色文本。我在本教程中使用了一个子域。如果你愿意,你可以使用你的主域名。不要忘记在DNS记录管理器中为域名设置DNS记录。还要注意,文档根目录区分大小写,不应在末尾添加正斜杠。 <;虚拟主机*:80>;服务器名管。你的地盘。com DocumentRoot/var/www/YouPHPTube<;目录/var/www/YouPHPTube>;目录索引。php选项+FollowSymLinks AllowOverride All需要全部授予</目录>;ErrorLog${APACHE_LOG_DIR}/youphptube。错误log CustomLog${APACHE_log_DIR}/youphptube。通道日志合并</VirtualHost>; 保存并关闭文件。然后启用这个虚拟主机。 sudo a2ensite youphptube。形态 我们需要启用重写模块。 sudo a2enmod重写 重新启动Apache以使更改生效。 sudo systemctl重启apache2 现在参观地铁。你的地盘。com,您将被重定向到安装向导页面(tube.yourdomain.com/install/index.php)。如果看到的是默认的Apache页面而不是安装向导,则需要禁用默认的虚拟主机。 sudo A2000默认值。形态 然后重启Apache。 在安装向导中输入任何信息之前,我们需要启用HTTPS。 Nginx 如果您更喜欢Nginx,请创建一个youphptube。conf文件位于/etc/nginx/conf.d/目录中。 sudo nano/etc/nginx/conf.d/youphptube。形态 将以下文本放入文件中。用实际数据替换红色文本。我在本教程中使用了一个子域。如果你愿意,你可以使用你的主域名。不要忘记在DNS记录管理器中为域名设置DNS记录。还要注意,文档根目录区分大小写。 服务器{listen 80;server_name tube.yourdomain.com;root/var/www/YouPHPTube;index index.php index.html index.htm;charset utf-8;客户端_max_body_size 2G;access_log/var/log/nginx/YouPHPTube.access.log;error_log/var/log/nginx/YouPHPTube.error.log;location~/.php${fastcgi_分割路径_info^(+/.php)(/)$; fastcgi_pass unix:/run/php/php7。3-fpm。短袜fastcgi_索引。php;包括fastcgi_参数;fastcgi_参数脚本_文件名$document_root$fastcgi_脚本_name;}#在中翻译Apache重写规则。htaccess文件到Nginx重写规则位置/{rewrite^/$/view/last;}位置/引导{rewrite^/bootstrap/(.+)$/view/bootstrap/$1 last;}location/js{rewrite^/js/(.+)$/view/js/$1 last;}位置/css{rewrite^/css/(.+)$/view/css/$1 last;}位置/img{rewrite^/img/(.+)$/view/img/$1 last;}位置/页面{rewrite^/page/([0-9]+)/?$/view/?page=$1 last;}位置/videoOnly{rewrite^/videoOnly/?$/view/?type=video last;}位置/audioOnly{rewrite^/audioOnly/?$/view/?type=audio last;}location=/download{rewrite^(.*)$/view/downloadExternalVideo.php last;}location=/downloadNow{rewrite^(.*)$/objects/downloadVideo.php last;}location=/getDownloadProgress{rewrite^(.*)$/objects/downloadVideoProgress.php last;}location=/about{rewrite^(.*)$/view/about.php last;}location=/contact{rewrite^(.*)$/view/contact.php last;}location=/sendmail{rewrite^(.*)$/objects/sendmail.json.php last;}location=/captcha{rewrite^(.*)$/objects/getCaptcha.php last;}位置/监视器{rewrite^/monitor/(.+)$/objects/ServerMonitor/$1 last;}位置/cat{rewrite^/cat/([A-Za-z0-9-]+)/?$/view/?catName=$1 last;}位置/视频{rewrite^/video/([A-Za-z0-9-.]+)/?$/查看/?videoName=$1 last;}位置/视频嵌入{rewrite^/videoembedded/([A-Za-z0-9-.]+)/?$/查看/视频嵌入。php?videoName=$1 last;}location=/upload{rewrite^(.*)$/view/mini upload form/last;}location=/fileUpload{rewrite^(.*)$/view/mini upload form/upload.php last;}location/uploadStatus{rewrite^/uploadStatus/view/mini upload form/videoConversionStatus.php last;}location=/user{rewrite^(.*)$/view/user.php last;}location=/users{rewrite^(.*)$/view/managerUsers.php last;}位置=/用户。json{rewrite^(.*)$/objects/users.json.php last;}location=/updateUser{rewrite^(.*)$/objects/userUpdate.json.php last;}location=/savePhoto{rewrite^(.*)$/objects/userSavePhoto.php last;}location=/addNewUser{rewrite^(.*)$/objects/userAddNew.json.php last;}location=/deleteUser{rewrite^(.*)$/objects/userDelete.json.php last;}location=/recoverPass{rewrite^(.*)$/objects/userRecoverPass.php last;}location=/saveRecoverPassword{rewrite^(.*)$/objects/userRecoverPassSave.json.php last;}location=/signUp{rewrite^(.*)$/view/signUp.php last;}location=/createUser{rewrite^(.*)$/objects/userCreate.json.php last;}location=/usersGroups{rewrite^(.*)$/view/managerUsersGroups.php last;}location=/usersGroups。json{rewrite^(.*)$/objects/usersGroups.json.php last;}location=/addNewUserGroups{rewrite^(.*)$/objects/userGroupsAddNew.json.php last;}location=/deleteUserGroups{rewrite^(.*)$/objects/userGroupsDelete.json.php last;}location=/ads{rewrite^(.*)$/view/managerAds.php last;}location=/addNewAd{rewrite^(.*)$/objects/video_adsAddNew.json.php last;}location=/ads.json{rewrite^(.*)$/objects/video_ads.json.php last;}location=/deleteVideoAd{rewrite^(.*)$/objects/video_adDelete.json.php last;}location/adClickLo{rewrite^/adClickLog/objects/video_adClickLog.php last;}location=/categories{rewrite^(.*)$/view/managerCategories.php last;}位置=/类别。json{rewrite^(.*)$/objects/categories.json.php last;}location=/addNewCategory{rewrite^(.*)$/objects/categoryAddNew.json.php last;}location=/deleteCategory{rewrite^(.*)$/objects/categoryDelete.json.php last;}location=/orphanFiles{rewrite^(.*)$/view/orphanFiles.php last;}location=/mvideos{rewrite^(.*)$/view/managerVideos.php last;}地点=/视频。json{rewrite^(.*)$/objects/videos.json.php last;}location=/deleteVideo{rewrite^(.*)$/objects/videoDelete.json.php last;}location=/addNewVideo{rewrite^(.*)$/objects/videoAddNew.json.php last;}location=/refreshVideo{rewrite^(.*)$/objects/videoRefresh.json.php last;}location=/setStatusVideo{rewrite^(.*)$/objects/videoStatus.json.php last;}location=/reencodeVideo{rewrite^(.*)$/objects/videoReencode.json.php last;}location=/addViewCountVideo{rewrite^(.*)$/objects/videoAddViewCount.json.php last;}location=/saveComment{rewrite^(.*)$/objects/commentAddNew.json.php last;}location/comments{rewrite^/comments.json/([0-9]+)$/objects/comments.json.php?video_id=$1 last;}location=/login{rewrite^(.*)$/objects/login.json.php last;}location=/logoff{rewrite^(.*)$/objects/logoff.php last;}location=/like{rewrite^(.*)$/objects/like.json.php?like=1 last;}location=/loke{rewrite^(.*)$/objects/like.json.php?like=-1 last;}位置/更新{rewrite^/update/?$/update/update.php last;}location=/siteConfigurations{rewrite^(.*)$/view/configurations.php last;}location=/updateConfig{rewrite^(.*)$/objects/configurationUpdate.json.php last;}location=/charts{rewrite^(.*)$/view/charts.php last;}位置=/upload/index。php{rewrite^(.*)$/upload/view/index.php last;}location=/upload/isAdmin{rewrite^(.*)$/upload/view/isAdmin.php last;}location=/upload/removeStreamer{rewrite^(.*)$/upload/view/removeStreamer.php last;}location=/upload/priority{rewrite^(.*)$/upload/view/priority.php last;}location=/upload/status{rewrite^(.*)$/upload/view/status.php last;}location=/upload/serverStatus{rewrite^(.*)$/upload/view/status.php?serverStatus=1 last;}location=/upload/upload{rewrite^(.*)$/upload/view/upload.php last;}位置=/upload/listFiles。json{rewrite^(.*)$/upload/view/listFiles.json.php last;}location=/upload/deleteQueue{rewrite^(.*)$/upload/view/deleteQueue.php last;}location=/upload/saveConfig{rewrite^(.*)$/upload/view/saveConfig.php last;}位置=/upload/youtubeDl。json{rewrite^(.*)$/upload/view/youtubeDl.json.php last;}位置=/upload/send。json{rewrite^(.*)$/upload/view/send.json.php last;}位置=/上传/拖缆。json{rewrite^(.*)$/upload/view/streamers.json.php last;}位置=/upload/queue。json{rewrite^(.*)$/upload/view/queue.json.php last;}location=/upload/queue{rewrite^(.*)$/upload/view/queue.php last;}location=/upload/login{rewrite^(.*)$/upload/objects/login.json.php last;}location=/upload/logoff{rewrite^(.*)$/upload/objects/logoff.json.php last;}位置/上传/{rewrite“^/getImage/([A-Za-z0-9=/]+)/([A-Za-z0-9]{3})$”/upload/objects/getImage。php?base64Url=$1&;格式=上次2美元;重写“^/getImageMP4/([A-Za-z0-9=/]+)/([A-Za-z0-9]{3})/([0-9.]+)$”/上传/objects/getImageMP4。php?base64Url=$1&;格式=$2&;时间=上次3美元;}location/upload/getSpiritsFromVideo{rewrite^/getSpiritsFromVideo/([A-Za-z0-9=/])/([0-9]+)/([0-9]+)$/upload/objects/getSpiritsFromVideo.php?base64Url=$1&;tileWidth=$2&;totalClips=$3 last;}location/upload/getLinkInfo{rewrite^/getLinkInfo/([A-Za-z0-9=/]+)$/upload/objects/getLinkInfo.json.php?base64Url=$1 last;} 保存并关闭文件。然后测试Nginx配置。 sudo nginx-t 如果测试成功,请重新加载Nginx以使更改生效。 sudo systemctl重新加载nginx 现在参观地铁。你的地盘。com,您将被重定向到安装向导页面(tube.yourdomain.com/install/index.php)。在安装向导中输入任何信息之前,我们需要启用HTTPS。 步骤5:启用HTTPS 为了加密HTTP流量,我们可以通过安装Let's encrypt颁发的免费TLS证书来启用HTTPS。运行以下命令在Debian 10 Buster服务器上安装Let's Encrypt client(certbot)。 sudo apt安装certbot 如果使用Apache,还需要安装Certbot Apache插件。 sudo apt安装python3 certbot apache 并运行此命令以获取并安装TLS证书。 sudo certbot--apache--agree tos--redirect--hsts--StapleOCSP--email[email ;protected]-d tube。你的地盘。通用域名格式 如果使用Nginx,请安装Certbot Nginx插件。 sudo apt安装python3 certbot nginx 接下来,运行以下命令获取并安装TLS证书。 sudo certbot--nginx--agree tos--redirect--hsts--stype ocsp--email[email ;protected]-d tube。你的地盘。通用域名格式 哪里 --nginx:使用nginx插件。 --apache:使用apache插件。 --同意:同意服务条款。 --重定向:通过301重定向强制HTTPS。 --hsts:为每个HTTP响应添加严格的传输安全头。强制浏览器始终对域使用TLS。防止SSL/TLS剥离。 --装订ocsp:启用ocsp装订。有效的OCSP响应被绑定到服务器在TLS期间提供的证书上。 现在应获得证书并自动安装。 第6步:使用安装向导完成安装 现在去看电视。你的地盘。com和安装向导将出现。在左侧,您可以看到服务器是否满足要求。 如果使用Nginx,可以忽略以下消息。 您的服务器是nginx/1.14.2,必须安装Apache。 如您所见,PHP post_max_大小应至少为100M,upload_max_文件大小应至少为100M。我们需要编辑php。ini文件来更改这两个值。如果使用ApacheWeb服务器,那么 sudo nano/etc/php/7.3/apache2/php。伊尼 如果将Nginx与PHP-FPM一起使用,则需要编辑PHP的FPM版本。ini文件。 sudo nano/etc/php/7.3/fpm/php。伊尼 找到下面两行。 post_max_size=8M上传_max_filesize=2M 根据要上传的视频文件大小更改值。例如,如果允许上传1G视频文件,则 post_max_size=1024M上传_max_filesize=1024M 保存并关闭文件。重新启动Apache以使更改生效。 sudo systemctl重启apache2 如果将Nginx与PHP-FPM一起使用,则重新启动PHP-FPM。 sudo systemctl重新启动php7。3-fpm 现在刷新YouPHPTube安装向导页面。你的服务器应该通过所有要求。现在在右边,你可以输入你的视频网站的标题。输入之前创建的YouPHPTube数据库名称、用户和密码。(注意:应该使用主数据库,而不是编码器数据库。还要注意区分大小写。)并设置系统管理员密码。  ; 单击立即安装按钮,YouPHPTube应该安装成功。 现在我们需要删除/var/www/YouPHPTube/install/目录。 sudo rm/var/www/YouPHPTube/install/-r 单击转到主页按钮,您将看到YouPHPTube主页。 您可以单击左侧的下拉菜单,以管理员用户身份登录,并使用刚才设置的密码。 第7步:设置编码器 去https://tube.yourdomain.com/upload/.您将被重定向到编码器设置向导。如果没有自动重定向,则可以手动输入安装向导URL。 https://tube.yourdomain.com/upload/install/index.php/ 左侧将显示服务器是否满足YouPHPTube编码器的要求。 如果使用Nginx,可以忽略以下消息。 您的服务器是nginx/1.14.2,必须安装Apache。 如您所见,PHP最大执行时间应至少为7200,PHP内存限制应至少为512M。我们需要编辑php。ini文件来更改这两个值。如果使用ApacheWeb服务器,那么 sudo nano/etc/php/7.3/apache2/php。伊尼 如果将Nginx与PHP-FPM一起使用,则需要编辑PHP的FPM版本。ini文件。 sudo nano/etc/php/7.3/fpm/php。伊尼 找到下面两行。 最大执行时间=30内存限制=128M 更改值。 最大执行时间=7200内存限制=512M 请注意,如果稍后的视频编码中途停止,则需要增加最大执行时间,或升级CPU。 保存并关闭文件。重新启动Apache以使更改生效。 sudo systemctl重启apache2 如果将Nginx与PHP-FPM一起使用,则重新启动PHP-FPM。 sudo systemctl重启php7。3-fpm 现在刷新YouPHPTube编码器安装向导页面。你的服务器应该通过所有要求。现在,在右侧,您需要输入之前创建的YouPHPTubeEncoder数据库名称、用户和密码。注意区分大小写,并输入拖缆站点的管理员密码。  ; 单击立即安装按钮,将安装YouPHPTube编码器。 删除安装目录。 sudo rm/var/www/YouPHPTube/upload/install/-r 然后转到主页。 第8步:更改编码器URL 默认情况下,YouPHPTube使用公共编码器上传视频。要使用自己的编码器,请在YouPHPTube(而不是YouPHPTube encoder)中以管理员身份登录,然后从左侧管理面板转到管理面板。 转到设置->;网站设置->;高级配置。将编码器URL更改为https://tube.yourdomain.com/upload/.保存设置,清除缓存目录并生成新的站点地图。 现在退出并重新登录。如果你点击右上角的“视频和音频编码”按钮,你将被带到自己的编码器上传视频。需要注意的是,编码速度取决于服务器的CPU能力。 第9步:配置SMTP 要发送电子邮件(如帐户注册、密码重置等),需要配置SMTP服务器。如果您想使用自己的邮件服务器向客户发送电子邮件,请查看以下文章以设置自己的邮件服务器。 如何使用Modoboa在Debian 9上快速设置电子邮件服务器 如果你想使用SMTP中继服务,我推荐Mailjet。您可以按照下面的教程在YouPHPTube服务器上设置SMTP中继。 如何使用Mailjet在Debian上设置Postfix SMTP中继 启用TCP BBR 对于视频流服务器,建议按照本文中的说明在Linux内核中启用TCP BBR拥塞控制算法。(它是为Ubuntu编写的,但也适用于Debian 10 Buster。) 如何通过启用TCP BBR轻松提升Ubuntu 16.04/18.04网络性能 移动应用 你可以在谷歌Play Store或苹果商店的YPT Mobile上搜索YouPHPTube,下载免费的android应用程序或iOS应用程序。白标移动应用需要付费许可证。 故障排除 如果YouPHPTube主页未能加载一些CSS和JavaScript资源, 很可能您在Apache或Nginx虚拟主机文件中为web根目录添加了额外的正斜杠。而不是使用 DocumentRoot/var/www/YouPHPTube/ 你应该使用 DocumentRoot/var/www/YouPHPTube 如果编码器工作不正常,可以在/var/www/YouPHPTube/upload/videos/YouPHPTube上查看日志文件。日志 其他花絮 编码视频时,可以选择分辨率(低分辨率、SD分辨率、HD分辨率)。如果您将YouPHPTube用作个人视频流网站,我建议您选择高清分辨率,这样可以减少编码时间并节省磁盘空间。如果已经将视频编码为所有3种分辨率,则可以转到YouPHPTube视频目录(/var/www/YouPHPTube/videos),删除低分辨率和SD分辨率的视频。 cd/var/www/YouPHPTube/videos/sudo rm*Low。mp4 sudo rm*SD。mp4 如何从视频网站下载所有视频 您可以使用youtube dl命令行实用程序下载所有视频。首先,你需要进入YouPHPTube仪表板,然后进入视频列表页面并向下滚动到底部,单击下载你的视频列表(permalink.txt文件)按钮。您将看到所有视频的URL列表。 接下来,打开一个终端,用文本编辑器创建一个txt文件,从网页复制URL并粘贴到文件中。然后可以运行以下命令下载视频。替换视频列表。使用您自己的文件名。 youtube dl-视频列表。txt 收尾 我希望本教程能帮助您在Debian 10 Buster服务器上安装YouPHPTube。和往常一样,如果你觉得这篇文章很有用,那么订阅我们的免费时事通讯以获得更多提示和窍门。当心?
-
在Fedora 24上安装Apache、MariaDB和PHP-FPM(LAMP Stack)
Fedora 24于2016年6月21日发布。在本教程中,我们将了解如何在Fedora 24上安装Apache、MariaDB和PHP-FPM(LAMP堆栈)。 步骤1:安装Apache HTTP服务器 输入此命令以安装Apache HTTP服务器。 sudo dnf install httpd -y 默认情况下,Apache安装在Fedora上时不会自动启动。让我们从systemctl开始。 sudo systemctl start httpd 当Fedora 24重新启动时,让Apache自动启动也是一个好主意。 sudo systemctl enable httpd 现在让我们检查一下它的状态。 systemctl status httpd 输出: ● httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) Active: active (running) since Wed 2016-06-22 22:33:33 EDT; 3min 24s ago Main PID: 3944 (httpd) Status: "Total requests: 0; Idle/Busy workers 100/0;Requests/sec: 0; Bytes served/sec: 0 B/sec" Tasks: 11 (limit: 512) 我们可以看到Apache正在运行,并且服务已启用。 检查Apache版本。 httpd -v 输出: Server version: Apache/2.4.18 (Fedora) Server built: Feb 4 2016 03:01:27 现在,在浏览器的地址栏中,键入Fedora的IP地址。您应该会看到Fedora测试网页,这意味着ApacheWeb服务器正在正确运行。 如果要在本地Fedora 24盒上安装LAMP,只需在浏览器地址栏中键入127.0.0.1或localhost。 如果看不到上述页面,则可能需要调整防火墙设置,以允许远程客户端访问您的网页。 sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https 重启防火墙 sudo firewall-cmd --reload 现在访问您的web服务器,您应该会看到Fedora测试页面。 最后,我们需要让apache(apache用户)成为web根目录的所有者。 sudo chown apache /var/www/html/ -R 使用Apache,Fedora服务器可以承载静态html文件,但为了服务于WordPress网站等动态网站,我们需要安装MariaDB和PHP。 灯步骤2:安装 MariaDB是MySQL的替代品。它是由MySQL团队的前成员开发的,他们担心Oracle可能会将MySQL变成一个封闭源代码的产品。许多Linux发行版和公司已经迁移到MariaDB。所以我们要安装MariaDB而不是MySQL。 sudo dnf install mariadb-server mariadb 安装后,我们需要启动它,并使其能够在系统启动时启动。 sudo systemctl start mariadb sudo systemctl enable mariadb 检查状态: systemctl status mariadb 产出: ● mariadb.service - MariaDB 10.1 database server Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled) Active: active (running) since Wed 2016-06-22 23:15:14 EDT; 5s ago Process: 7504 ExecStartPost=/usr/libexec/mysql-check-upgrade (code=exited, status=0/SUCCESS) Process: 7434 ExecStartPre=/usr/libexec/mysql-prepare-db-dir %n (code=exited, status=0/SUCCESS) Process: 7404 ExecStartPre=/usr/libexec/mysql-check-socket (code=exited, status=0/SUCCESS) Main PID: 7470 (mysqld) Status: "Taking your SQL requests now..." Tasks: 25 (limit: 512) CGroup: /system.slice/mariadb.service └─7470 /usr/libexec/mysqld --basedir=/usr 检查版本: [[email protected] ~]$ mysql --version mysql Ver 15.1 Distrib 10.1.14-MariaDB, for Linux (i686) using EditLine wrapper 现在运行安装后安全脚本。 sudo mysql_secure_installation 当它要求您输入根密码时,请按enter键,因为您尚未设置根密码。然后输入y设置MariaDB服务器的根密码。 之后,只需按Enter键即可回答所有剩余的问题。这将删除匿名用户、禁用远程根登录并删除测试数据库。这一步是MariaDB数据库安全的基本要求。 第3步:安装PHP 输入以下命令以安装PHP和PHP模块。 sudo dnf install php php-cli php-mysql php-common -y 完成后,我们需要重新启动Apache以处理PHP代码。 sudo systemctl restart httpd 第4步:测试PHP 创建一个测试。文件根目录中的php文件。 sudo nano /var/www/html/test.php 将以下PHP代码粘贴到文件中。 <?php phpinfo(); ?> 保存并关闭文件。现在在浏览器地址栏中,输入服务器ip地址/测试。php。用实际ip替换服务器ip地址。您应该可以看到服务器的PHP信息。这意味着PHP处理很好。 Apache PHP模块与PHP-FPM 现在基本上有两种方法可以在ApacheWeb服务器上运行PHP代码:ApachePHP模块和PHP-FPM。上面的配置使用ApachePHP模块来处理PHP代码(您可以从PHP信息中看到服务器API是Apache2.0处理程序)。 为了使用PHP-FPM运行PHP代码,我们需要启用Apache mod_proxy_fcgi模块。幸运的是,它在默认情况下是启用的,您可以通过这个命令看到这一点 apachectl -M 您可以从输出中找到以下行,这意味着mod_proxy_fcgi模块已启用。 proxy_fcgi_module (shared) 现在安装php fpm。 sudo dnf install php-fpm 启动并启用php fpm服务。 sudo systemctl start php-fpm sudo systemctl enable php-fpm 然后编辑虚拟主机配置文件。本教程以默认虚拟主机为例。 sudo nano /etc/httpd/conf/httpd.conf 将以下行粘贴到此文件的末尾。 ProxyPassMatch ^/(.*/.php(/.*)?)$ unix:/run/php-fpm/www.sock|fcgi://localhost/var/www/html/ 保存并关闭文件。然后重启Apache。 sudo systemctl restart httpd 现在如果你检查一下测试。在浏览器中,您会发现服务器API是FPM/FastCGI,这意味着Apache web服务器将把php请求传递给php-FPM。 为了服务器的安全,您应该删除测试。php文件。 恭喜!您已经在Fedora 24上成功安装了Apache、MariaDB和PHP-FPM(LAMP stack)。 欢迎提出问题或建议。如果你觉得这篇文章有用,? 请在社交媒体上与朋友分享!请继续关注更多Linux教程。
-
使用Nginx、MariaDB和PHP7在Ubuntu16.04上安装Drupal 8
如果你想知道如何在带有Nginx、MariaDB和PHP7的Ubuntu16.04 LTS上安装Drupal 8,你来对地方了。 WordPress是世界上最受欢迎的内容管理系统(CMS),由于其易用性和数千个插件和主题,受到世界各地数百万博主和网站管理员的喜爱。然而,对于拥有比普通熊更好的网络技能的高级用户来说,它也很笨重和缓慢。 Drupal是城里的另一种游戏。Drupal比WordPress更快、更安全、对搜索引擎优化更友好。如果你厌倦了WordPress,并且不介意Drupal可用的主题和模块(又名插件)数量太少,那么试试Drupal吧。 因此,在本教程中,我将向您展示如何在Ubuntu16.04 LTS Xenial Xerus上安装Drupal 8,以及Nginx、MariaDB和PHP7。我假设您已经在Ubuntu 16.04上设置了一个LEMP堆栈。如果不是这样,请点击下面的链接查看我的简易指南。Drupal也适用于LAMP,但这里我将向您展示如何使用LEMP设置它。 在Ubuntu 16.04 LTS上安装Nginx、MariaDB和PHP7(LEMP堆栈) 完成后,回到这里继续阅读。 在Ubuntu 16.04上安装Drupal 8 首先,使用以下命令将所有系统软件升级到软件存储库中可用的最新版本: sudo apt update && sudo apt upgrade 接下来,将Drupal从官网下载到Ubuntu 16.04服务器。您可以使用wget来实现这一点。最新的稳定版本是Drupal 8.1.3,于2016年6月15日发布。 wget https://ftp.drupal.org/files/projects/drupal-8.1.3.tar.gz 当你阅读本教程时,可能有一个更新版本的Drupal可用,你可以在https://www.drupal.org/project/drupal.只需用更新的版本号替换8.1.3即可。 下载完成后,使用以下命令解包。这将在当前目录下创建一个drupal-8.1.3目录。 tar xzvf drupal-8.1.3.tar.gz 现在将drupal-8.1.3目录中的所有文件移动到web根目录。如果您遵循了前面的LEMP教程,那么您的web根目录将是/usr/share/nginx/html。 sudo mv drupal-8.1.3/* /usr/share/nginx/html/ 为Drupal 8创建数据库和用户 Drupal是一个内容管理系统,因此它需要一个数据库来存储内容。运行以下命令以root身份登录MariaDB shell。请注意,这是MariaDB root用户,而不是Ubuntu系统的root用户。 mysql -u root -p 如果您无法登录MariaDB,请查看如何修复MariaDB插件“unix_socket”未加载错误。 登录后,使用以下命令为Drupal 8创建一个新数据库。我叫它drupal,你可以用任何你喜欢的名字。 create database drupal; 接下来,使用以下命令在localhost上创建一个新的数据库用户。再说一遍,我把它命名为drupaluser,你可以用任何你喜欢的名字。 create user drupaluser@localhost; 为用户设置密码。用首选密码替换密码。 set password for drupaluser@localhost= password("your-password"); 然后将新数据库的所有权限授予新用户: grant all privileges on drupal.* to drupaluser@localhost identified by 'your-password'; 刷新特权表: flush privileges; 退出MariaDB外壳: exit; 配置Drupal 将工作目录更改为web根目录: cd /usr/share/nginx/html 将默认设置复制到新文件: sudo cp sites/default/default.settings.php sites/default/settings.php 向设置添加写入权限。php文件和站点/默认目录 sudo chmod u+w sites/default/settings.php sudo chmod u+w sites/default 现在我们需要将web根目录的所有者更改为Nginx用户。nginx用户通常是nginx或www数据。您可以在/etc/nginx/nginx中查看它。conf文件。 sudo chown nginx:nginx /usr/share/nginx/html/ -R 或 sudo chown www-data:www-data /usr/share/nginx/html/ -R 为Drupal站点创建一个Nginx配置文件 sudo nano /etc/nginx/conf.d/drupal.conf 将以下文本放入文件中。将红色文本替换为真实域。 server { listen 80; server_name www.your-domain.com your-domain.com; root /usr/share/nginx/html/; index index.php index.html index.htm; error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ /..*/.*/.php$ { return 403; } # Block access to hidden directories location ~ (^|/)/. { return 403; } location ~ ^/sites/.*/private/ { return 403; } # No php is touched for static content location / { try_files $uri @rewrite; } # Clean URLs location @rewrite { rewrite ^ /index.php; } # Image styles location ~ ^/sites/.*/files/styles/ { try_files $uri @rewrite; } location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { allow all; log_not_found off; access_log off; } location ~ /.php$ { try_files $uri =404; fastcgi_pass unix:/run/php/php7.0-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_split_path_info ^(.+/.php)(/.+)$; include fastcgi_params; } } 保存并关闭此文件。然后测试Nginx配置并重新加载Nginx。 sudo nginx -t sudo systemctl reload nginx 在浏览器中完成Drupal安装 确保你的域名在DNS中指向你的Ubuntu 16.04服务器。然后在浏览器地址栏中键入 your-domain.com 或 your-domain.com/core/install.php 替换你的域名。使用你的真实域名。您将看到Drupal安装向导,也称为Drupal安装程序。按照说明完成Drupal 8的安装。 如果你看不到安装向导,那可能是因为你的服务器上没有启用一些PHP扩展,比如PHP curl、PHP mbstring、PHP gd。可以使用以下命令启用它们: sudo apt install php-curl php-mbstring php-gd 现在让我们来完成这些步骤。 选择语言 您在第一步中选择的语言将是Drupal结构和Drupal后端的语言。但是,您可以用其他语言编写内容。如果您想用Drupal构建一个多语言站点,可以在以后配置这些设置。对于本教程,我们选择英语,以便管理员界面使用英语。 选择个人资料 第2步是选择一个安装配置文件。如果您安装的是普通Drupal core,也就是说,而不是Drupal发行版,那么您的选项将是标准的和最少的。如果你是Drupal初学者,你想选择standard。如果你真的是一个高级Drupal用户,喜欢大量定制即将构建的站点,那么你只想选择minimal。 验证需求 如果您一步一步地遵循本教程,那么需求应该得到成功验证,您不必在这一步中做任何事情。 建立数据库 此步骤是连接到MariaDB数据库。因此,请输入您之前创建的数据库、数据库用户和密码。 单击“保存并继续”按钮,它将开始安装标准安装配置文件附带的40个核心模块。如果选择最小配置文件,那么许多核心模块将不会安装。 配置站点 这是最后一步。在站点信息部分,输入您首选的站点名称和站点电子邮件地址。网站电子邮件地址用于向网站用户或网站访问者发送自动电子邮件,以进行注册、密码恢复或其他工作。它用来识别你的网站。如果您不想输入个人电子邮件地址,如[email ;protected],请输入电子邮件地址,如[email ;protected] 站点维护帐户是Drupal站点中的用户1。这就像Linux上的root用户可以在系统中做任何事情,包括对系统有害的事情。在Drupal站点中,使用此站点维护帐户执行正常操作不是最佳做法。选择管理员或网站管理员以外的用户名。这两个用户名很容易猜出来。当您忘记用户1的密码时,将使用电子邮件地址。因此,请输入与网站电子邮件地址不同的电子邮件地址。 然后选择默认国家和默认时区。电子邮件通知将发送到用户1的电子邮件地址。 请记住,以上所有设置稍后都可以更改。最后,单击保存并继续。您将被带到Drupal站点的主页。 恭喜!您已经在Ubuntu 16.04上成功安装了Drupal 8,现在可以开始构建Drupal站点了! 欢迎提出意见、问题或建议。如果你觉得这篇文章有用,? 请在社交媒体上与朋友分享!请继续关注更多Linux教程。
-
2019年在Arch Linux服务器上安装Nginx、MariaDB和PHP7(LEMP)
在之前的教程中,我解释了如何在KVM VPS上安装Arch Linux。现在,本教程将向您展示如何在Arch Linux服务器上安装Nginx、MariaDB、PHP7,也称为LEMP堆栈。您还可以按照本指南在Arch Linux家用计算机上安装LEMP堆栈。 步骤1:更新Arch Linux服务器 在ArchLinux上安装任何软件包之前,最好先刷新存储库并执行更新。在终端中输入以下命令以升级软件。 sudo pacman -Syu 步骤2:安装Nginx Web服务器 Arch Linux存储库包含两个版本的Nginx Web服务器:Nginx和Nginx主线。nginx是更稳定、更老的版本,nginx mainline是最新版本。这并不一定意味着nginx主线不稳定。事实上,nginx。如果您没有充分理由使用旧版本,org建议您使用nginx mainline。 要安装旧版本,请执行以下操作: sudo pacman -S nginx 本教程将安装主线版本。 sudo pacman -S nginx-mainline 默认情况下,上述两个命令还将安装geoip和geoip数据库包。一旦安装完毕,请检查Nginx状态。 systemctl status nginx 输出: ● nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled) Active: active (running) since Tue 2016-04-12 13:10:57 CST; 1 day 7h ago Main PID: 2010 (nginx) Tasks: 2 (limit: 512) CGroup: /system.slice/nginx.service ├─2010 nginx: master process /usr/bin/nginx -g pid /run/nginx.pid; daemon on; master_process on └─2011 nginx: worker process 如果未运行,请使用systemctl启动: sudo systemctl start nginx 启动Arch Linux服务器时,启用Nginx自动启动。 sudo systemctl enable nginx 检查Nginx版本。 nginx -v 输出: nginx version: nginx/1.17.1 在浏览器地址栏中输入Arch Linux服务器的IP地址,如果看到以下文本,则表示Nginx正在正确运行。 您可以使用以下命令检查服务器的公共IP。 curl http://icanhazip.com 如果要在Arch Linux家用计算机上安装Nginx,只需在地址栏中键入127.0.0.1或localhost。 步骤3:安装MariaDB数据库服务器 自2013年以来,MariaDB是Arch Linux默认的MySQL实现。甲骨文MySQL被放到了AUR。所以你看,Arch Linux真的希望你从MySQL迁移到MariaDB。 MariaDB随MariaDB包一起提供。 sudo pacman -S mariadb 在启动服务之前,需要初始化MariaDB数据目录。这可以通过mariadb install db命令完成。 sudo mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql 现在开始。 sudo systemctl start mariadb 检查它是否正在运行: systemctl status mariadb 输出: ● mysqld.service - MariaDB database server Loaded: loaded (/usr/lib/systemd/system/mysqld.service; disabled; vendor preset: disabled) Active: active (running) since Wed 2016-04-13 21:09:45 CST; 5s ago Process: 8373 ExecStartPost=/usr/bin/mysqld-post (code=exited, status=0/SUCCESS) Main PID: 8372 (mysqld) Tasks: 26 (limit: 512) CGroup: /system.slice/mysqld.service └─8372 /usr/bin/mysqld --pid-file=/run/mysqld/mysqld.pid 启动Arch Linux时,启用MariaDB自动启动。 sudo systemctl enable mariadb 运行安装后安全脚本。 sudo mysql_secure_installation 您将被要求输入您的MariaDB根密码。由于您还没有根密码,请按enter。 当被问及是否要切换到unix_套接字身份验证时,可以按Enter键。(请注意,Y大写,这意味着它是默认答案。)当被问及是否要更改根用户密码时,请回答“n”,因为unix_套接字身份验证不要求MariaDB根用户拥有密码。然后,您可以按Enter键回答所有剩余的问题,这将删除测试数据库、匿名用户并禁用root远程登录。 要登录到MariaDB控制台,只需运行以下命令。 sudo mysql -u root 要退出,快跑 exit 默认的主配置文件位于/etc/my。cnf。 步骤4:安装PHP7 Arch Linux repository中最新版本的PHP是7.3.6。要安装它,请运行以下命令: sudo pacman -S php php-fpm 安装之后,我们需要告诉Nginx使用PHP-fpm运行PHP。要实现这一点,请编辑/etc/nginx/nginx。conf文件。 sudo nano /etc/nginx/nginx.conf 找到位置~/。php$节(第65行),并将其修改为以下内容。 location ~ /.php$ { root /usr/share/nginx/html; fastcgi_pass unix:/run/php-fpm/php-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } 保存并关闭文件。然后测试Nginx配置。 sudo nginx -t 如果测试成功,请重新加载Nginx。 sudo systemctl reload nginx 然后使用以下命令启动并启用php fpm服务: sudo systemctl start php-fpm sudo systemctl enable php-fpm 第5步:测试PHP处理 创建一个测试。网页根目录中的php文件。 sudo nano /usr/share/nginx/html/test.php 将这些行添加到文件中。 <?php phpinfo(); ?> 保存并关闭文件。现在,在浏览器地址中键入http://your-server-ip/test.php.你应该看到你所有的PHP信息。如果要在Arch Linux台式机或笔记本电脑上安装LEMP,请键入127.0.0.1/test。php或localhost/test。php。 测试。php文件仅用于测试目的。出于安全原因,现在可以将其删除。 sudo rm /usr/share/nginx/html/test.php 启用PHP扩展 编辑/etc/php/php。ini配置文件。 sudo nano /etc/php/php.ini 找到以下两行(第922行和第926行),删除分号以启用这两个扩展。 ;extension=mysqli ;extension=pdo_mysql 您还可以运行以下两个命令在Arch Linux上启用mysqli和pdo_mysql扩展,这样就不必打开文件并找到这两行代码。 sudo sed -i 's/;extension=mysqli/extension=mysqli/g' /etc/php/php.ini sudo sed -i 's/;extension=pdo_mysql/extension=pdo_mysql/g' /etc/php/php.ini 重新加载php fpm服务以使更改生效。 sudo systemctl reload php-fpm mysqli。so用于连接PHP和MariaDB/MySQL数据库。pdo_mysql。所以显示Drupal站点是必要的。您可能还需要为PHP启用imagemagick扩展,以便在CMS平台(如WordPress)中裁剪和旋转图像。 收尾 恭喜!您已经在Arch Linux服务器上成功安装了Nginx、MariaDB和PHP7!和往常一样,如果你觉得这篇文章很有用,那么订阅我们的免费时事通讯以获得更多提示和窍门。当心?
-
在Debian上使用Nginx、MariaDB和PHP7安装自己的Cloud 9服务器
在本教程中,我将向您展示如何使用Nginx、MariaDB和PHP7在Debian 8 VPS上设置ownCloud个人云存储。安装过程与在Debian 8上安装WordPress非常相似。本教程在一个只有128MB内存的VPS上演示,它可以毫无问题地运行自己的云。我假设您已经在Debian 8上配置了一个LEMP堆栈。如果您还没有这样做,请查看下面的简易指南,了解如何做到这一点。 如何在Debian 8 Jessie(Nginx、MariaDB、PHP7)上安装LEMP堆栈 步骤1:在Debian 8 VPS上安装ownCloud 9服务器 首先,使用wget在Debian 8 VPS上获取自己的云签名密钥-nv代表不冗长。 wget -nv https://download.owncloud.org/download/repositories/stable/Debian_8.0/Release.key -O Release.key 然后使用apt密钥将该签名密钥添加到Debian 8。 sudo apt-key add - < Release.key 接下来,运行此命令添加官方云存储库。 sudo sh -c "echo 'deb http://download.owncloud.org/download/repositories/stable/Debian_8.0/ /' >> /etc/apt/sources.list.d/owncloud.list" 之后,更新本地包索引并安装owncloud文件。 sudo apt-get update;sudo apt-get install owncloud-files 有两个软件包可以安装:owncloud和owncloud文件。区别在于,如果你安装了owncloud,那么它会自动安装apache2、mysql和php5。因为我们已经在Debian 8 VPS上配置了Nginx、MariaDB和PHP7堆栈,所以我们只需要安装独立的owncloud文件。 OwnCloud文件存储在/var/www/OwnCloud目录中。 步骤2:为ownCloud创建数据库和用户 登录MariaDB数据库服务器: mysql -u root -p 然后为owncloud创建一个数据库。 create database owncloud; 在本地主机上创建数据库用户。 create user [email protected] identified by 'password'; 授予此用户在owncloud数据库上的所有权限。 grant all privileges on owncloud.* to [email protected] identified by 'password'; 刷新权限并退出。 flush privileges; exit; 步骤3:在MariaDB中启用二进制日志记录 打开我的门。cnf文件。你的我的。cnf文件可能位于/etc/mysql/my。cnf。 sudo nano /etc/my.cnf 在[mysqld]部分添加以下三行。 log-bin = /var/log/mysql/mariadb-bin log-bin-index = /var/log/mysql/mariadb-bin.index binlog_format = mixed 二进制日志的格式必须是混合的。保存并关闭文件。然后重新加载服务。 sudo service mysql reload or sudo systemctl reload mysql 第4步:从Let's Encrypt获得免费SSL证书 首先安装,让我们从Github加密客户端。 sudo apt-get install git git clone 现在将cd放入letsencypt目录。 cd letsencrypt/ 停止Nginx进程。 sudo service nginx stop or sudo systemctl stop nginx 使用以下命令为您的域名获取SSL证书: ./letsencrypt-auto certonly --standalone --email <your-email-address> --agree-tos -d owncloud.your-domain.com 注意:我假设你使用的是像owncloud这样的域名。你的领域。com访问自己的云网络界面。在运行上述命令之前,您还需要将域名指向DNS中的服务器IP。 certonly表示客户端获得SSL证书,但不会安装它。因为Let's Encrypt仍处于测试阶段,不支持Nginx的自动SSL配置,所以我们必须手动配置(安装)SSL。 您的SSL证书将保存在/etc/letsencrypt/live/<;你的领域。com>;目录 步骤5:为owncloud创建Nginx配置文件 sudo nano /etc/nginx/conf.d/owncloud.conf 将以下文本放入文件中。 upstream php-handler { #server 127.0.0.1:9000; server unix:/run/php/php7.0-fpm.sock; } server { listen 80; server_name owncloud.your-domain.com; # enforce https return 301 https://$server_name$request_uri; } server { listen 443 ssl; server_name owncloud.your-domain.com; ssl_certificate /etc/letsencrypt/live/owncloud.your-domain.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/owncloud.your-domain.com/privkey.pem; # Add headers to serve security related headers add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;"; add_header X-Content-Type-Options nosniff; add_header X-Frame-Options "SAMEORIGIN"; add_header X-XSS-Protection "1; mode=block"; add_header X-Robots-Tag none; # Path to the root of your installation root /var/www/owncloud/; # set max upload size client_max_body_size 10G; fastcgi_buffers 64 4K; # Disable gzip to avoid the removal of the ETag header gzip off; # Uncomment if your server is build with the ngx_pagespeed module # This module is currently not supported. #pagespeed off; index index.php; error_page 403 /core/templates/403.php; error_page 404 /core/templates/404.php; rewrite ^/.well-known/carddav /remote.php/carddav/ permanent; rewrite ^/.well-known/caldav /remote.php/caldav/ permanent; # The following 2 rules are only needed for the user_webfinger app. # Uncomment it if you're planning to use this app. #rewrite ^/.well-known/host-meta /public.php?service=host-meta last; #rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last; location = /robots.txt { allow all; log_not_found off; access_log off; } location ~ ^/(build|tests|config|lib|3rdparty|templates|data)/ { deny all; } location ~ ^/(?:/.|autotest|occ|issue|indie|db_|console) { deny all; } location / { rewrite ^/remote/(.*) /remote.php last; rewrite ^(/core/doc/[^//]+/)$ $1/index.html; try_files $uri $uri/ =404; } location ~ /.php(?:$|/) { fastcgi_split_path_info ^(.+/.php)(/.+)$; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param HTTPS on; fastcgi_param modHeadersAvailable true; #Avoid sending the security headers twice fastcgi_pass php-handler; fastcgi_intercept_errors on; } # Adding the cache control header for js and css files # Make sure it is BELOW the location ~ /.php(?:$|/) { block location ~* /.(?:css|js)$ { add_header Cache-Control "public, max-age=7200"; # Add headers to serve security related headers add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;"; add_header X-Content-Type-Options nosniff; add_header X-Frame-Options "SAMEORIGIN"; add_header X-XSS-Protection "1; mode=block"; add_header X-Robots-Tag none; # Optional: Don't log access to assets access_log off; } # Optional: Don't log access to other assets location ~* /.(?:jpg|jpeg|gif|bmp|ico|png|swf)$ { access_log off; } } 用实际数据替换红色文本。此配置文件假定php fpm进程监听Unix套接字。如果您的php fpm监听127.0.0.1:9000,则需要更改上游部分。您还可以在此配置中为SSL启用http2。请注意,Nginx在1.9.5版之前不支持http2。查看以下教程,了解如何在Debian 8服务器上使用最新的Nginx版本启用HTTP2。 如何在Debian 8服务器上使用最新的Nginx版本启用HTTP2 保存此配置文件后,安装所需的php7扩展名。 sudo apt install php7.0-common php7.0-gd php7.0-json php7.0-curl php7.0-zip php7.0-xml php7.0-mbstring 现在重新启动Nginx进程。 sudo service nginx restart or sudo systemctl restart nginx 第6步:设置Web界面 在浏览器地址栏中,键入 owncloud.your-domain.com 您需要创建一个管理帐户,并将ownCloud服务与MariaDB数据库连接起来。 完成后,您将进入owncloud的Web界面。恭喜!您现在可以开始使用owncloud作为您的私有云存储。 正如您所见,安装ownCloud的过程与安装WordPress和Drupal的过程非常相似。 欢迎提出意见、问题或建议。如果你觉得这篇文章有用?请在社交媒体上与朋友分享!请继续关注更多Linux教程。
-
在OpenSUSE Leap 42.1上安装LEMP堆栈(Nginx、MariaDB、PHP)
在本教程中,我们将学习如何在OpenSUSE Leap 42.1上安装LEMP堆栈(Nginx、MariaDB和PHP)。您会发现这个过程与在Debian、Fedora或CentOS上安装LEMP stack有点不同。特别是,我们必须设置SuSE防火墙,允许互联网用户访问端口80。所以,不用再麻烦了,让我们开始吧。 步骤1:安装Nginx Web服务器 Nginx[engine x]是由Igor Sysoev编写的HTTP服务器和IMAP/POP3代理服务器。多年来,它一直在许多负载沉重的俄罗斯网站上运行。 运行以下命令在OpenSUSE Leap 42.1上安装Nginx sudo zypper install nginx 然后启动Nginx进程,并将其设置为系统启动时自动启动。 sudo systemctl start nginx sudo systemctl enable nginx 现在创建一个索引。html文件位于/srv/www/htdocs/web root目录下。 sudo nano /srv/www/htdocs/index.html 将以下HTML代码复制并粘贴到此文件。 <!doctype html> <html> <body> Welcome to Nginx on OpenSUSE! </body> </html> 保存并关闭文件。现在,在Web浏览器中,键入OpenSUSE Leap 42.1机器的IP地址。如果您是,这是您的本地机器,那么您将看到以下内容。 如果要在远程服务器上安装Nginx,则需要将SuSE firewall配置为允许公共访问端口80,因为默认情况下,它只允许本地访问端口80。打开防火墙配置文件。 sudo nano /etc/sysconfig/SuSEfirewall2 找到下面这行。(这是第253行。) FW_SERVICES_EXT_TCP="" 在引号之间加80。 FW_SERVICES_EXT_TCP="80" FW是防火墙的缩写,EXT代表外部区域(互联网)。该指令意味着防火墙允许外部区域访问TCP端口80,后者是Nginx监听的端口。保存并关闭文件。然后重启SuSE防火墙。 sudo systemctl restart SuSEfirewall2 现在您应该可以访问远程Web服务器了。 第2步:配置默认服务器块 /etc/nginx/nginx中的默认服务器块。conf文件对于静态HTML站点来说已经足够了。然而,我们要安装PHP,所以我们需要更改默认服务器的一些配置。 这是我的配置。 server { listen 80; server_name localhost; #charset koi8-r; #access_log /var/log/nginx/host.access.log main; location / { root /srv/www/htdocs/; index index.php index.html index.htm; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /srv/www/htdocs/; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ /.php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ /.php$ { root /srv/www/htdocs/; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } 唯一需要更改的是取消对与PHP相关的位置块的注释,并将/scripts更改为$document_root。保存并关闭文件。然后运行Nginx配置测试。 sudo nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful 如果测试成功,请重新加载Nginx。 sudo systemctl reload nginx 步骤3:安装MariaDB MariaDB是MySQL数据库服务器的一个向后兼容的替换分支。它包括所有主要的开源存储引擎,包括Maria存储引擎。 使用以下命令安装MariaDB: sudo zypper install mariadb mariadb-client 然后启动MariaDB服务,并在系统启动时启用自动启动。 sudo systemctl start mysql sudo systemctl enable mysql 现在运行mysql_secure_安装脚本,为MariaDB root用户设置密码,删除匿名用户,禁用远程root登录并删除测试数据库。 sudo mysql_secure_installation 步骤4:安装PHP5 PHP是一种服务器端、跨平台的HTML嵌入式脚本语言。运行以下命令在OpenSUSE Leap上安装PHP5。 sudo zypper install php5-fpm 接下来,重命名/etc/php5/fpm/php-fpm。conf.default为/etc/php5/fpm/php-fpm。形态。 sudo mv /etc/php5/fpm/php-fpm.conf.default /etc/php5/fpm/php-fpm.conf 现在编辑php fpm配置文件。 sudo nano /etc/php5/fpm/php-fpm.conf 将用户和组值从nobody更改为nginx: user = nginx group = nginx 还可以在该文件中找到以下行。 ;error_log = log/php-fpm.log 将其更改为: error_log = /var/log/php-fpm.log 保存并关闭文件。现在复制php。ini文件到/etc/php5/fpm/目录。 sudo cp /etc/php5/cli/php.ini /etc/php5/fpm/ 然后编辑这个文件。 sudo nano /etc/php5/fpm/php.ini 找到以下行: ;cgi.fix_pathinfo=1 将其更改为: cgi.fix_pathinfo=0 保存并关闭文件。现在启动php fpm服务,并在系统启动时启用自动启动。 sudo systemctl start php-fpm sudo systemctl enable php-fpm 最后一步:测试PHP 在web根目录下创建一个php文件。 sudo nano /srv/www/htdocs/test.php 将以下文本复制并粘贴到文件中。 <?php phpinfo(); ?> 保存文件,然后重新加载Nginx。 sudo systemctl reload nginx 在Web浏览器中,导航到服务器ip/测试。php。您将看到服务器的所有PHP信息。 恭喜!您已经在OpenSUSE Leap 42.1上成功安装了LEMP堆栈。出于安全原因,最好删除该测试。php文件,这样其他人就看不见了。
-
如何在Debian 8 Jessie(Nginx、MariaDB、PHP7)上安装LEMP堆栈
LEMP代表Linux、Nginx(发音为EGX)、MySQL/MariaDB和PHP。它使服务器能够托管动态网站和web应用程序。在本教程中,我将向您展示如何在Debian 8 Jessie上安装LEMP堆栈。我选择安装MariaDB作为数据库服务器,而不是MySQL,并安装PHP7。 步骤1:安装Nginx 与Apache相比,Nginx是一款轻量级、快速的web服务器,近年来越来越流行。它也可以用作反向代理。要在Debian 8上安装Nginx,请在terminal中输入以下命令: $ sudo apt-get install nginx -y 一旦安装,Nginx应该正在运行。 $ sudo service nginx status [ ok ] nginx is running. 检查Nginx版本 $ nginx -v nginx version: nginx/1.6.2 在web浏览器中键入您的服务器IP地址,如果您看到以下文本,则表明Nginx已正确安装。 您可以使用以下命令检查公共IP $ curl http://icanhazip.com 您还可以在服务器上使用curl来获取HTTP头 [email protected]:~$ curl -I localhost HTTP/1.1 200 OK Server: nginx/1.6.2 Date: Mon, 25 Jan 2016 16:33:28 GMT Content-Type: text/html Content-Length: 867 Last-Modified: Mon, 25 Jan 2016 16:20:36 GMT Connection: keep-alive ETag: "56a64b54-363" Accept-Ranges: bytes 如您所见,Nginx返回200个响应代码,指示Nginx正在正确运行。 安装MariaDB MariaDB是MySQL的一个升级版本。使用以下命令安装: sudo apt-get install -y mariadb-server mariadb-client 在安装过程中,它会要求您为Mariadb root用户设置密码。输入正确的密码,然后按回车键。MariaDB root用户不应与Debian系统root用户混淆。 重复你的密码,然后按回车键。 检查MariaDB版本 $ mysql --version mysql Ver 15.1 Distrib 10.0.22-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2 现在运行安全脚本 $ sudo mysql_secure_installation 输入根密码。当它询问您是否要更改root密码时,请按n键。然后,您只需按enter键即可回答所有其他问题。 MariaDB安装完成。 安装PHP7 将以下文本放入/etc/apt/sources。列出要添加dotdeb的文件。组织存储库。 deb http://packages.dotdeb.org jessie all deb-src http://packages.dotdeb.org jessie all 获取并安装GnuPG密钥 $ wget $ sudo apt-key add dotdeb.gpg 更新本地包索引并安装PHP7。 $ sudo apt-get update $ sudo apt-get install php7.0-fpm php7.0-mysql php7.0-common php7.0-gd php7.0-json php7.0-cli php7.0-curl php7.0-xml php7.0-zip php7.0-mbstring 配置PHP7 编辑主php fpm配置文件: sudo vi /etc/php/7.0/fpm/php.ini 找到以下行: ;cgi.fix_pathinfo=1 删除前面的分号并将其值设置为0 cgi.fix_pathinfo=0 保存并关闭文件。重新启动php fpm sudo service php7.0-fpm restart 配置Nginx虚拟主机 在/etc/nginx/sites available目录下创建一个新的虚拟主机文件: sudo vi /etc/nginx/sites-available/yourdomain.conf 添加以下行。 server { listen 80; server_name yourdoman.com www.yourdomain.com; root /var/www/html; index index.php index.html index.htm index.nginx-debian.html; location / { try_files $uri $uri/ =404; } error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /var/www/html; } location ~ /.php$ { try_files $uri =404; fastcgi_pass unix:/run/php/php7.0-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } 替换你的域名。com与您的实际域名。保存并关闭文件。创建软链接: sudo ln -s /etc/nginx/sites-available/yourdomain.conf /etc/nginx/sites-enabled/yourdomain.conf 然后测试Nginx配置 [email protected]:$ sudo nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful 重新加载Nginx配置 $ sudo service nginx reload 向www数据用户授予/var/www/html的完全权限。 sudo chown www-data:www-data /var/www/* -R 测试PHP 创建一个信息。web根目录中的php文件: $ sudo vi /var/www/html/info.php 把下面的文字输入信息。php文件。 <?php phpinfo(); ?> 保存并关闭文件。现在,在浏览器的地址栏中,键入以下文本: yourdomain.com/info.php 替换你的域名。com与您的实际域名。 如果您可以看到类似的内容,那么您的PHP工作正常。 确保你为你的域名设置了正确的a记录。 信息。php文件仅用于测试。要重新进行安全检查,现在可以将其删除。现在,您已经成功地在Debian 8 Jessie上安装了LEMP堆栈(Nginx、Mariadb、PHP7-FPM)。 干杯
-
在Fedora22/23(Nginx、MariaDB、PHP-FPM)上安装LEMP堆栈
本教程将向您展示如何在Fedora22/23上安装LEMP堆栈。具体来说,我们将安装Nginx Web服务器、MariaDB数据库服务器和PHP-FPM。在上一个教程中,我向您展示了如何在CentOS/Redhat服务器上安装LEMP堆栈,Fedora上的过程有点不同。所以,不用再麻烦了,让我们开始吧。 安装Nginx Web服务器 首先登录Fedora服务器,然后发出以下命令来安装Nginx。 sudo dnf install nginx 启动Nginx web服务器: sudo systemctl start nginx 检查它是否正在运行: sudo systemctl status nginx 我的产出: ● nginx.service - The nginx HTTP and reverse proxy server Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled) Active: active (running) since Sat 2015-11-21 15:55:29 CST; 15s ago Process: 2635 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS) Process: 2616 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS) Process: 2607 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS) Main PID: 2641 (nginx) CGroup: /system.slice/nginx.service ├─2641 nginx: master process /usr/sbin/nginx ├─2642 nginx: worker process ├─2643 nginx: worker process ├─2645 nginx: worker process └─2646 nginx: worker process 在系统引导时自动启动Nginx: sudo systemctl enable nginx 检查Nginx版本: [[email protected] ~] $ nginx -v nginx version: nginx/1.8.0 在web浏览器中键入您的服务器ip地址,如果您看到以下内容,则说明Nginx已正确安装。 您可以使用以下命令查找服务器公共IP地址: ip address 或 curl http://icanhazip.com 如果看不到上述页面,则可能需要调整防火墙设置,以允许远程客户端访问您的网页。 sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https 重启防火墙 sudo firewall-cmd --reload 现在访问您的web服务器,您应该会看到Nginx欢迎页面。使用Nginx,您的服务器可以承载静态html文件,但为了为WordPress网站等动态网站提供服务器,我们需要安装MariaDB和PHP。 安装MariaDB数据库服务器 MariaDB是MySQL的一个升级版本。使用以下命令安装: sudo dnf install mariadb-server mariadb 安装后,我们需要启动它。 sudo systemctl start mariadb 检查状态: sudo systemctl status mariadb 产出: ● mariadb.service - MariaDB 10.0 database server Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled; vendor preset: disabled) Active: active (running) since Sat 2015-11-21 19:30:01 CST; 4s ago Process: 7498 ExecStartPost=/usr/libexec/mysql-check-upgrade (code=exited, status=0/SUCCESS) Process: 7357 ExecStartPost=/usr/libexec/mysql-wait-ready $MAINPID (code=exited, status=0/SUCCESS) Process: 7224 ExecStartPre=/usr/libexec/mysql-prepare-db-dir %n (code=exited, status=0/SUCCESS) Process: 7180 ExecStartPre=/usr/libexec/mysql-check-socket (code=exited, status=0/SUCCESS) Main PID: 7356 (mysqld_safe) CGroup: /system.slice/mariadb.service ├─7356 /bin/sh /usr/bin/mysqld_safe --basedir=/usr └─7468 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/my... 检查版本: [[email protected] ~] $ mysql --version mysql Ver 15.1 Distrib 10.0.21-MariaDB, for Linux (x86_64) using readline 5.1 现在运行安全脚本 sudo mysql_secure_installation 当脚本要求您输入当前的根密码时,只需将其留空并按enter键。然后输入Y并设置根密码。设置root密码后,只需按enter键即可回答所有其他问题。 脚本完成后,我们需要启用MariaDB以在系统引导时启动。 sudo systemctl enable mariadb 现在让我们转到PHP部分。 安装PHP 使用以下命令安装PHP和相关软件包: sudo dnf install php-fpm php-mysql php-common 编辑php fpm主配置文件: sudo vi /etc/php.ini 找到以下行: ;cgi.fix_pathinfo=1 删除前面的分号并将其值设置为0 cgi.fix_pathinfo=0 保存并关闭文件。 现在编辑php fpm www.conf config文件: sudo vi /etc/php-fpm.d/www.conf 找到以下两行: ;listen.owner = nobody ;listen.group = nobody 删除前面的分号。 然后将用户和组值从“apache”更改为“nginx”: user = nginx group = nginx 保存并关闭文件后,启动PHP处理器: sudo systemctl start php-fpm 接下来,在系统引导时启用php fpm。 sudo systemctl enable php-fpm 配置Nginx服务器块 在/etc/nginx/conf.d目录中创建一个新的服务器块文件 sudo vi /etc/nginx/conf.d/example.com.conf 添加以下行。 server { listen 80; server_name www.example.com example.com root /usr/share/nginx/html; index index.php index.html index.htm; location / { try_files $uri $uri/ index.php$query_string; } error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ /.php$ { try_files $uri =404; fastcgi_pass unix:/run/php-fpm/php-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } 保存并关闭文件。然后重新启动nginx: sudo systemctl restart nginx 您可以添加额外的服务器块文件,以便在一台服务器上托管多个网站。 测试PHP 创建一个信息。web根目录中的php文件: sudo vi /usr/share/nginx/html/info.php 将以下文字输入信息。php文件 <?php phpinfo(); ?> 保存并关闭它。 然后通过在浏览器中键入以下内容来访问新创建的文件: server ip address/info.php 如果您可以看到类似的内容,那么您的PHP工作正常。 恭喜!您已在Fedora上成功安装了LEMP stack。是时候主持你的网站了。
-
如何使用LEMP在CentOS 7上安装Drupal 7
在之前的教程中,我向您展示了如何在CentOS 7服务器上安装LEMP。现在,如果你想在上面建立一个网站,你可以安装WordPress或Drupal,这两个都是内容管理系统的好选择。本教程将向您展示如何安装Drupal 7。 在CentOS上安装Drupal 7 首先,使用以下命令将所有系统软件升级到软件存储库中可用的最新版本: sudo yum update 接下来,从官方网站下载Drupal。您可以使用wget来实现这一点: wget http://ftp.drupal.org/files/projects/drupal-7.41.tar.gz 当你阅读这篇文章时,可能有一个更新版本的drupal可用,你可以在https://www.drupal.org/project/drupal 下载完成后,使用以下命令解包。这将在当前目录下创建一个drupal-7.41目录。 tar xzvf drupal-7.41.tar.gz 现在将drupal-7.41目录中的所有文件复制到web根目录。如果您遵循了前面的教程,那么您的web根目录将是/usr/share/nginx/html sudo mv drupal-7.41/* /usr/share/nginx/html/ 建立数据库 登录MariaDB shell,可以使用以下命令完成此操作: mysql -u root -p 进入MariaDB shell后,使用以下命令为Drupal创建一个新的数据库。我叫它drupal,你可以用任何你喜欢的名字。 create database drupal; 然后使用下面的SQL语句创建一个新的数据库用户。再说一遍,我把它命名为drupaluser,你可以用任何你喜欢的名字。 create user [email protected]; 为用户设置密码: set password for [email protected]= password("your-password"); 然后将新数据库的所有权限授予新用户: grant all privileges on drupal.* to [email protected] identified by 'your-password'; 刷新数据库: flush privileges; 退出MariaDB外壳: exit; 配置Drupal 将工作目录更改为web根目录: cd /usr/share/nginx/html 将默认设置复制到新文件: sudo cp sites/default/default.settings.php sites/default/settings.php 向设置添加写入权限。php文件和站点/默认目录 sudo chmod a+w sites/default/settings.php sudo chmod a+w sites/default 最后,我们需要将web根目录的所有者更改为Nginx用户。nginx用户通常是nginx或www数据。您可以在/etc/nignx/nginx中查看它。此外,我们需要将当前用户添加到www数据组中,以便我们可以编辑web根目录下的文件。 sudo chown nginx:nginx /usr/share/nginx/html/ -R sudo usermod -a -G nginx your-username newgrp nginx 在浏览器中安装Drupal 7 在进入浏览器之前,我们需要安装php gd,这样Drupal安装脚本就可以毫无问题地运行。这可以使用命令来完成 sudo yum install php-gd php-xml php-mbstring 编辑/etc/php。ini文件,将以下文本放入其中。 extension=dom.so 保存文件并重新启动php fpm sudo systemctl restart php-fpm 现在转到您的web浏览器,键入以下内容 http://server-domain or ip/install.php 您将看到Drupal安装向导。按照说明完成Drupal 7的安装。 安装Drupal后,应该删除索引。web根目录中的html文件: rm index.html
-
在CentOS7上安装LEMP堆栈(Nginx、MariaDB、PHP-FPM)的分步指南
LEMP代表Linux、Nginx(发音为engine X)、MySQL/MariaDB和PHP。它使服务器能够托管动态网站和web应用程序。在本教程中,我将向您展示如何在CentOS 7服务器上安装LEMP堆栈。我选择安装MariaDB作为数据库服务器,而不是MySQL。 从EPEL在CentOS7上安装Nginx 与Apache相比,Nginx是一款速度很快的web服务器,而且现在越来越流行。为了在CentOS 7上安装Nginx,我们需要使用以下命令添加EPEL存储库。EPEL代表企业Linux的额外软件包。 sudo yum install epel-release -y 输入密码。现在添加了存储库,是时候安装Nginx了: sudo yum install nginx -y 安装Nginx后,我们需要启动它。 sudo systemctl start nginx 使Nginx在系统启动时启动。 sudo systemctl enable nginx 检查它是否正在运行: systemctl status nginx 样本输出: ● nginx.service - The nginx HTTP and reverse proxy server Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled) Active: active (running) since Mon 2018-09-24 08:36:31 UTC; 1min 19s ago Main PID: 13692 (nginx) CGroup: /system.slice/nginx.service ├─13692 nginx: master process /usr/sbin/nginx └─13693 nginx: worker process 检查Nginx版本: [[email protected] ~]$ nginx -v nginx version: nginx/1.12.2 在web浏览器中键入您的服务器IP地址,如果您看到以下内容,则说明Nginx已正确安装。 您可以使用以下命令查找服务器公共IP地址: ip address 或 curl http://icanhazip.com 服务器防火墙可能已禁用对端口80的公共访问。为了允许公共访问,我们告诉iptables防火墙使用以下命令接受到端口80的流量。 sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT 现在,您的服务器可以托管静态html文件,但为了为动态网站提供服务器,我们需要安装MariaDB和PHP。 在CentOS 7上安装MariaDB MariaDB是MySQL的替代品。使用以下命令安装它: sudo yum install mariadb-server mariadb -y 安装后,我们需要启动它。 sudo systemctl start mariadb 使MariaDB在系统启动时启动。 sudo systemctl enable mariadb 检查状态: systemctl status mariadb 产出: ● mariadb.service - MariaDB database server Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled) Active: active (running) since Mon 2018-09-24 08:48:46 UTC; 23s ago Main PID: 13970 (mysqld_safe) CGroup: /system.slice/mariadb.service ├─13970 /bin/sh /usr/bin/mysqld_safe --basedir=/usr 检查版本: [[email protected] ~]$ mysql --version mysql Ver 15.1 Distrib 5.5.60-MariaDB, for Linux (x86_64) using readline 5.1 现在我们需要运行安全脚本。 sudo mysql_secure_installation 当脚本要求您输入当前的根密码时,只需将其留空并按enter键。然后输入Y并设置根密码。 设置root密码后,只需按enter键即可回答所有其他问题。(请注意,字母Y大写,这意味着它是默认答案。) 现在让我们转到PHP部分。 在CentOS7上安装PHP-FPM 使用以下命令安装PHP和相关软件包: sudo yum install php php-mysql php-fpm php-gd php-xml php-mbstring -y 现在编辑php fpm配置文件: sudo nano /etc/php-fpm.d/www.conf 找到以下行: listen = 127.0.0.1:9000 将其更改为: listen = /var/run/php-fpm/php-fpm.sock 然后找到以下两行: ;listen.owner = nobody ;listen.group = nobody 删除前面的分号。最后,将用户和组值从“apache”更改为“nginx”: user = nginx group = nginx 保存并关闭文件后,启动PHP处理器: sudo systemctl start php-fpm 接下来,在系统引导时启用php fpm。 sudo systemctl enable php-fpm 配置Nginx虚拟主机 在/etc/nginx/conf.d目录中创建一个新的虚拟主机文件 sudo nano /etc/nginx/conf.d/example.com.conf 添加以下行。替换www.example。com和示例。com与您自己的域。别忘了为你的域名设置一个记录。 server { listen 80; server_name www.example.com example.com; root /usr/share/nginx/html; index index.php index.html index.htm; location / { try_files $uri $uri/ /index.php$query_string; } error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ /.php$ { try_files $uri =404; fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } 保存并关闭文件。然后重新加载nginx: sudo systemctl reload nginx 您可以添加其他虚拟主机文件,以便在一台服务器上托管多个网站。 测试PHP处理 创建一个信息。web根目录中的php文件: sudo nano /usr/share/nginx/html/info.php 将以下文本放入文件中 <?php phpinfo(); ?> 保存并关闭它。然后通过在浏览器中键入以下内容来访问新创建的文件: 或 your ip address/info.php 如果您在下面的屏幕截图中看到类似的内容,那么您的PHP工作正常。 此文件仅用于测试。出于安全原因,现在可以使用以下命令将其删除: sudo rm /usr/share/nginx/html/info.php 现在你已经安装了LEMP,你可能想知道下一步该怎么做。嗯,你可以在你的LEMP堆栈上安装WordPress或Drupal网站。这正是我将在下一个教程中向您展示的内容。