我的编程空间,编程开发者的网络收藏夹
学习永远不晚

从0开始配置服务器PHP + Nginx

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

从0开始配置服务器PHP + Nginx

用的是阿里云ECS云服务器,不过应该都是些通用的指令,差不了多少,无图形化界面
基本上是用来搭在一些php项目,其余配置后续再说,本次先记录Nginx+PHP+mysql配置

在电脑上远程登录服务器

ssh -p[端口号] [用户名]@[IP]// 如 ssh -p22 root@8.888.888.888

若是在清空云盘后重新进行ssh连接,可能会遇到

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

解决方案

ssh-keygen -R [IP]

选择yes,重新连接即可

进行远程连接后,就可以直接远程操作系统,操作逻辑上和自己电脑上打开cmd是一样的

创建web用户

在php与nginx中都需要使用,因此优先配置

创建用户命令,存在root用户产生bug的可能性,最好建个其他的

groupadd [group name]useradd -g [group name] [user name]// ykark - yukiaruki

php配置

首先从php官网下载php安装包,这里使用的是8.1.10版本

wget https://www.php.net/distributions/php-8.1.10.tar.gztar -xzvf php-8.1.10.tar.gz 

进入解压后的文件夹,进行configure编译,这里附带了一些会用到的库,也可以自行查找添加其他的

./configure --prefix=/usr/local/php --with-mysqli --with-openssl --with-pdo-mysql --enable-fpm

如果之前没有进行过环境配置,就会提示

Package 'libxml-2.0', required by 'virtual:world', not found

这时就用yum search libxml能找到libxml2.x86_64,再使用yum install libxml2-devel

其他的类似问题也都安装好就完事,可能会用到的一些:

// libxml-2.0yum install libxml2-devel// sqlite3yum install sqlite-devel

进行make & make install

sapi/cli/php错误:在MakeFile中的EXTRA_LIBS 最后加上 -liconv

PHP配置文件

因为php-fpm中,php-fpm.conf的默认路径基本完全没有,所以要自己配置好piderror_log

复制www.conf并且修改group和user选项,改成之前创建的用户和组

cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf

启用php-fpm.conf最后一行的include,写/usr/local/php/etc/php-fpm.d/*.conf或者自己的文件位置

运行后没有报错就是成功了,可以ps aux|grep php-fpm查询进程,需要关闭时就kill进程号

nginx 服务器配置

一些相关的依赖库

// C/C++编译器yum  install  gcc  gcc-c++ -y// zlib压缩yum  install  zlib  zlib-devel -y// 正则yum install  pcre  pcre-devel -y// opensslyum  install  openssl  openssl-devel -y

安装nginx

nginx下载页面下载压缩包解压,注意不要把解压后的文件夹命名为nginx

这里以nginx-1.22.0.tar.gz为例,解压后进入文件夹

./configure --prefix=[安装位置](默认是/usr/local/nginx) --with-http_ssl_module

之后进行makr & make install

make中的踩坑,如果版本比较高可能不会出现这些问题

ngx_murmurhash.o出错

/nginx/objs/Makefile中CFLAGS = … 删除其中的 -Werror

‘struct crypt_data’没有名为‘current_salt’的成员

进入相应文件注释掉出错的内容

最后如果像⬇️一样,就是成功了

make[1]: 进入目录“/usr/local/nginx”sed -e "s|%%PREFIX%%|/usr/local/nginx|" \-e "s|%%PID_PATH%%|/usr/local/nginx/logs/nginx.pid|" \-e "s|%%CONF_PATH%%|/usr/local/nginx/conf/nginx.conf|" \-e "s|%%ERROR_LOG_PATH%%|/usr/local/nginx/logs/error.log|" \< man/nginx.8 > objs/nginx.8make[1]: 离开目录“/usr/local/nginx”

之后进行make install安装

*如果出现cp: “conf/koi-win” 与"/usr/local/nginx/conf/koi-win" 为同一文件报错,就是命名的问题,改改重装就好

至此nginx已经安装完成,在新创建的nginx/sbin中./nginx可以启动

停止运行就kill进程号

修改nginx/conf/nginx.conf配置

用户名的配置与php相同

user [用户名] [用户组];worker_processes  1;

绑定域名,配置虚拟主机的ssl与php

域名绑定等内容根据网站提示的来就好,这里不多做讲解,假设已经备案了域名并且获取了免费ssl证书(阿里云搜索ssl就可以找到免费的)

SSL证书管理页面下载nginx版本的证书,并且在nginx/conf下新建cert目录储存证书,方便管理

conf下新建sites-enabled目录用来储存,新建域名命名的文件并配置以下内容,记得把注释部分去掉

server {    listen 443 ssl;    // 域名    server_name example.com;    // 部署的web项目所在目录    root /var/www/html;    index index.html index.htm index.php;    // 这里指向证书位置    ssl_certificate  /usr/local/nginx/conf/cert/example.com.pem;    ssl_certificate_key /usr/local/nginx/conf/cert/example.com.key;    ssl_session_timeout 5m;    // ssl加密    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;    ssl_prefer_server_ciphers on;    location / {        index index.html index.htm index.php;    }    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;        }} 

http重定向,可以使http直接跳转到https(我没试过,先记着

server {    listen 80;    server_name dawnguo.cn;    rewrite ^(.*)$ https://dawnguo.cn;}

在nginx.conf的http内写入

include /etc/nginx/conf.d/*.conf;

修改后重启nginx

./nginx -s reload// 如果之前没有启动过就直接./nginx

安装mysql

下载安装包地址:mysqlDownload

这里可以查看一下yum内glibc库的最新版本,如果没有到2.34以上的版本,建议下载旧版本的mysql安装包,不然很多依赖库需要手动编译

解压后按顺序安装:

// 这里只打前缀,后面的部分自己补全就可rpm -ivh mysql-community-commonrpm -ivh mysql-community-develrpm -ivh mysql-community-clientrpm -ivh mysql-community-server

最后可能会出现这个提示

references path below legacy directory /var/run/, updating /var/run/mysqld → /run/mysqld; please update the tmpfiles.d/ drop-in file accordingly

在相应文件夹中的mysql.conf内把最后一行的/var/run/mysqld改成/run/mysqld即可

完成rpm安装后,service mysqld start即可启动mysql服务

连接mysql

首先获取初始密码

more /var/log/mysqld.log |grep password

使用这个密码登录数据库

mysql -uroot -p

查看密码难易度,可以修改复杂度,这样就可以设置简单密码(也可以不改)

// 查看密码设置 SHOW VARIABLES LIKE 'validate_password%'; // 修改密码难度示例,其他选项的修改方法相同 set global validate_password_policy = 0; // 修改密码  alter user 'root'@'localhost' identified by 'NewPassword'

这样就完成密码修改和初始化了

如果使用防火墙,烦请自行查阅如何开启端口,同时需要设置服务器内端口允许访问

来源地址:https://blog.csdn.net/Yuki_Aruki/article/details/126778987

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

从0开始配置服务器PHP + Nginx

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

【微服务 从0开始 】Spring Cloud —— 比xml更适合的配置文件yaml

🔎这里是【秒懂·云原生】,关注我学习云原生不迷路 👍如果对你有帮助,给博主一个免费的点赞以示鼓励 欢迎各位🔎点赞👍评论收藏⭐️ 👀专栏介绍 【秒懂·云原生】
2023-08-16

从0开始部署阿里云服务器新手指南

本文将从0开始,详细讲解如何部署阿里云服务器。包括如何注册阿里云账号、如何购买服务器、如何配置服务器、如何安装操作系统、如何安装所需软件等。本文适合初学者,也适合对阿里云服务器部署有一定了解的用户进行参考和学习。正文:一、注册阿里云账号首先,你需要注册一个阿里云账号。在阿里云官网上,点击“注册账号”,然后按照提示
从0开始部署阿里云服务器新手指南
2023-12-14

阿里云nginx配置服务器配置

简介在云计算时代,阿里云作为国内领先的云服务提供商,为用户提供了强大的基础设施和丰富的服务。在构建稳定可靠的应用架构时,合理配置Nginx服务器是非常重要的一步。本文将介绍如何在阿里云上配置Nginx服务器,以实现高可用性、负载均衡和安全保护。配置步骤步骤一:购买阿里云ECS实例首先,您需要购买一台或多台阿里云ECS实
阿里云nginx配置服务器配置
2024-01-18

从0开始简单部署腾讯云服务器的方法步骤

由于是第一次发帖,如有写得不好,不对的地方希望大家在评论里指出,以后改进。谢谢!!!。 下面开始: 一:购买腾讯云: 首先进入腾讯云的官网:https://cloud.tencent.com/fromSo
2022-06-04

阿里云服务器配置nginx

阿里云服务器配置nginx:在主机上安装nginx:cd/etc/nginx.conf/torun.bak配置文件中添加以下内容://servername:指定主机名称//serverport:用于访问主机IP地址//path:包含当前路径的文件路径//startupscripts:用于启动nginx服务//server:用于指定操作系统及其版本//worker:用于指定主机
2023-10-26

云服务器的nginx服务器怎么配置

配置云服务器上nginx服务器,包括安装nginx、配置虚拟主机、启用虚拟主机、配置PHP、重启nginx、测试网站,以及其他建议的优化配置,如SSL证书、防火墙、日志记录和优化。
云服务器的nginx服务器怎么配置
2024-04-09

云服务器的nginx服务器怎么配置

配置云服务器上的Nginx服务器需要以下步骤:1. 安装Nginx:使用root权限登录到云服务器,运行以下命令安装Nginx:```sudo apt updatesudo apt install nginx```2. 配置Nginx:Ng
2023-09-25

CentOS Nginx服务器怎么配置nginx.conf

这篇文章主要介绍“CentOS Nginx服务器怎么配置nginx.conf”,在日常操作中,相信很多人在CentOS Nginx服务器怎么配置nginx.conf问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答
2023-06-16

MySQL配置主从服务器(一主多从)

目录思路主机配置修改conf重启检验从机1配置从机2配置配置主从关联测试数据同步常见问题原因解决方案本文主要介绍了MySQL配置主从服务器(一主多从),感兴趣的可以了解一下当前环境 Centos 7.6 Mysql 5.7Centos 7.
2022-05-21

Node.js怎么配置使用Nginx服务器

本篇内容介绍了“Node.js怎么配置使用Nginx服务器”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!流程图nginx配置如下: http
2023-07-04

编程热搜

目录