Nginx
在Linux系统下nginx的安装过程,先到 http://nginx.org/download/ 这个网站找到自己需要下载的版本,复制下载的链接地址,这里以nginx-1.15.9为例

将安装包下载到/usr/local/src目录下 cd /usr/local/src

问题一

wget: command not found

解决

yum -y install wget

下载完成后会在目录下看到一个nginx-1.15.9.tar.gz的安装包,解压安装包:

tar zxvf nginx-1.15.9.tar.gz

解压之后切换到解压后的nginx目录,进行安装输入命令

cd nginx-1.15.9
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_gzip_static_module --with-http_realip_module --with-http_sub_module --with-http_ssl_module --with-http_gzip_static_module --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log       // 安装到/usr/local目录下完整模块./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_gzip_static_module --with-http_realip_module --with-http_sub_module --with-http_ssl_module --with-http_gzip_static_module --sbin-path=/usr/local/nginx/sbin/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --http-client-body-temp-path=/var/temp/nginx/client --http-proxy-temp-path=/var/tmp/nginx/proxy --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi --http-scgi-temp-path=/var/tmp/nginx/scgi

问题一:HTTP重写模块需要PCRE库

解决:如果提示已经安装了pcre库,检查一下pcre-devel是否已安装

yum install pcre
yum install pcre-devel

问题二:HTTP GZIP模块需要ZLIB库

解决:如果提示已经安装了zlib库,检查一下zlib-devel是否已安装

yum install zlib
yum install zlib-devel

安装完成

最后执行编译命令:

make && make install

conf 主要放置配置文件
html 主要放置网页文件
logs 主要放置日志文件
sbin 主要放二进制程序

启动nginx, 切换到目录 cd /usr/local/nginx :

./sbin/nginx
或者
nginx -s stop
nginx

问题三: 80端口已经被占用,启动nginx的时候冲突
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
解决:查看正在运行的服务或软件,找到占用80端口的软件或者服务将其关闭即可

yum -y install net-tools    // 安装组件
netstat -tunlp    // 查看正在运行的服务或软件

关闭防火墙

netstat -lntp
yum install net-tools -y
systemctl stop firewalld  //关闭
systemctl status firewalld  // 查看状态
systemctl disable firewalld  // 开机禁用

MySQL
== CentOS 7下mysql下替换成MariaDB ==

https://www.cnblogs.com/ricklz/p/12269102.html
https://www.freesion.com/article/87061201051/

先下载 mysql源安装包放在目录 /usr/local/src

cd  /usr/local/src
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

安装mysql源

yum -y install mysql57-community-release-el7-11.noarch.rpm

安装MySQL服务器

yum install -y mysql-community-server    // 漫长等待...

安装mysql的开发包(以后可能会有用)

yum install -y mysql-community-devel

默认配置文件路径:
配置文件:/etc/my.cnf
日志文件:/var/log/var/log/mysqld.log
服务启动脚本:/usr/lib/systemd/system/mysqld.service
socket文件:/var/run/mysqld/mysqld.pid
————————————————
启动mysql

service mysqld start

查看mysql启动状态

service mysqld status

获取mysql默认生成的密码

grep 'temporary password' /var/log/mysqld.log


进入Mysql更换自己的密码

mysql -uroot -p      // 回车之后输入上门选中的密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '此处为你的新密码';   // Root!!2019

退出Mysql

quit;

PHP

下载php7源码包 https://www.php.net/downloads.php 我这里版本为 php-7.2.21

wget https://www.php.net/distributions/php-7.2.26.tar.gz

解压源码包

tar zxvf  php-7.2.21.tar.gz

安装php依赖包

cd php-7.2.21
yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel

问题一
No package libmcrypt available.
No package libmcrypt-devel available
解决

yum  install epel-release   //扩展包更新包
yum install libmcrypt libmcrypt-devel

问题二:make: *** No targets specified and no makefile found. Stop.

./configure --prefix=/usr/local/php72 --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-jpeg-dir --with-xmlrpc --with-xsl --with-zlib --with-bz2 --with-mhash --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-sysvshm --enable-xml --enable-zip   // 执行命令 后面跟安装路径及配置项,可用./configure --help 命令查看所有选项;重点是 fpm
make && make install
configure: error: Please reinstall the libzip distribution

[root@localhost ~]# wget https://nih.at/libzip/libzip-1.2.0.tar.gz

[root@localhost ~]# tar -zxvf libzip-1.2.0.tar.gz

[root@localhost ~]# cd libzip-1.2.0

[root@localhost ~]# ./configure

[root@localhost ~]# make -j4 && make install

vim /etc/ld.so.conf
#添加如下几行
/usr/local/lib64
/usr/local/lib
/usr/lib
/usr/lib64
#保存退出
:wq
ldconfig -v # 使之生效cp /usr/local/lib/libzip/include/zipconf.h /usr/local/include/zipconf.h

安装完成后

添加 PHP 命令到环境变量

vim /etc/profile

问题三:-bash: vim: command not found
解决:查看 vim 组件安装情况

rpm  -qa|grep  vim  /  yum install -y vim*

正常返回一下三条记录,如果缺少则用 yum 命令安装:
vim-enhanced-7.0.109-7.el5
vim-minimal-7.0.109-7.el5
vim-common-7.0.109-7.el5

yum -y install vim-common
yum -y install vim-minimal
yum -y install enhanced
vim /etc/profile

在末尾加入:
PATH=$PATH:/usr/local/php72/bin 这个地方注意下安装路径
export PATH
使改动立即生效执行

source /etc/profile

查看环境变量

echo  $PATH

查看php版本

php -v    // 直接输入 php 是因为配置了环境变量指向了PHP的安装路径为 /usr/local/php72/bin

配置php-fpm 创建配置文件

cp /usr/local/src/php-7.2.21/php.ini-production /usr/local/php72/lib/php.ini  // 从你的PHP解压目录复制
cp /usr/local/php72/etc/php-fpm.conf.default /usr/local/php72/etc/php-fpm.conf  // PHP 安装目录复制
cp /usr/local/php72/etc/php-fpm.d/www.conf.default /usr/local/php72/etc/php-fpm.d/www.conf // PHP 安装目录复制
cp /usr/local/src/php-7.2.21/sapi/fpm/php-fpm.service /usr/lib/systemd/system/  // PHP 解压目录复制
systemctl daemon-reload   //重新加载配置(php-fpm.service)
service php-fpm restart    // 启动php-fpm  默认端口 9000
netstat -lntp  // 查看是否启动成功


添加www 用户和 www 用户组
检测是否已创建www用户:

id www

创建www用户组

groupadd www

创建www用户,并设置不允许登录

useradd -g www -s /sbin/nologin www

配置PHP /usr/local/php72/etc/php.ini
默认UTC时区改成中国时区

date.timezone = PRC

修改session文件存放目录

mkdir /usr/local/php72/tmp && chown www:www /usr/local/php72/tmp  //建立tmp目录,并将tmp用户和用户组改成www用户www用户组,避免出现权限项目出现权限问题
session.save_path = "/usr/local/php72/tmp"  //session存放目录为/usr/local/php72/tmp

更改 php-fpm 用户和用户组

vim /usr/local/php72/etc/php-fpm.d/www.conf    // user = www    group = www
service php-fpm restart   // 重启

Failed to start php-fpm.service: Unit not found

https://blog.csdn.net/Cookie_1030/article/details/105036003

配置 Nginx 使其支持 PHP 应用
修改Nginx配置文件

vim /usr/local/nginx/conf/nginx.conf

修改默认的 location 块,追加index.php让nginx服务器默认支持index.php为首页

配置.php请求被传送到后端的php-fpm模块,默认情况下php配置块是被注释的;主要修改的就是fastcgi_param中的/scripts为$document_root

回到nginx.conf第一行,默认是#user nobody; 这里要去掉注释改为 www;表示nginx服务器的权限为www-data

修改完这些保存并退出,然后重启nginx

/usr/local/nginx/sbin/nginx -s stop
/usr/local/nginx/sbin/nginx

在nginx下的html目录下创建test.php文件

cd /usr/local/nginx/html
vim index.php     // 输入 echo phpinfo();

打开浏览器输入对应的地址进行访问 192.168.xx.xx/test.php

配置网站根目录
Nginx 配置文件 /usr/local/nginx/conf/nginx.conf
取消红色框注释

配置站点,可配置多个,复制 server{} 即可
设置站点访问的域名、站点日志、根目录(可自定义)

location / {index  index.html index.htm index.phpif (!-e $request_filename) {rewrite ^/(.+)$ /index.php?s=/$1 last;break;}
}


重启 Nginx
/usr/local/nginx/sbin/nginx -s stop
/usr/local/nginx/sbin/nginx

查看ip ip addr 配置本地host 即可访问

LNMP环境搭建详细教程相关推荐

  1. Win10 Anaconda下TensorFlow-GPU环境搭建详细教程(包含CUDA+cuDNN安装过程)(转载)...

    win7(win10也适用)系统安装GPU/CPU版tensorflow Win10 Anaconda下TensorFlow-GPU环境搭建详细教程(包含CUDA+cuDNN安装过程) 目录 2.配置 ...

  2. Kubernetes集群环境搭建详细教程(一主两从)

    Kubernetes集群环境搭建详细教程(一主两从) 1.1 安装要求 在开始之前,部署Kubernetes 集群机器需要满足以下几个条件: 一台或多台机器,操作系统CentOS7.x-86_x64 ...

  3. win0php环境搭建,win10php环境搭建详细教程

    大家在将系统更新为Win10系统后,对php环境搭建方法并不是很清楚.那么win10php环境搭建要怎么操作呢?其实win10php环境搭建的方法跟Win7/Win8.1系统的php环境搭建是相同道理 ...

  4. 1 Go语言开发环境搭建详细教程+go常见bug合集【Go语言教程】

    Go语言开发环境搭建[Win.Linux.Mac] 1 SDK下载 官网地址:golang.org,因为一些原因国内可能无法访问.可以使用下面第二个链接. 国内地址访问:https://golang. ...

  5. 通用SSM项目环境搭建详细教程

    一.新建一个Maven项目 1. 2.不使用骨架,直接next 3.(项目名称.工作空间.分组Id设置.按照个人喜好即可,不推荐使用中文) -> 直接Finish 4.看到如下图的pom.xml ...

  6. PHP开发环境搭建详细教程

    首先你需要安装Apache Server,这里以当前最新版Apache Server2.4为例进行说明,可惜官网并没有提供最新版的msi安装包,连编译后的binary二进制压缩包都没提供,不过我已经编 ...

  7. Rust语言开发环境搭建详细教程

    目录 一.Rust简介 1.rust历史 2.rust吉祥物 二.Rust开发环境搭建 1.C++环境安装 2.Rust下载 3.rust安装 4.rust环境检测 查看rust版本 查看cargo版 ...

  8. Win10 Anaconda下TensorFlow-GPU环境搭建详细教程(包含CUDA+cuDNN安装过程)

    目录 前言 第一步:安装Anaconda 1.下载和安装 2.配置Anaconda环境变量 第二步:安装TensorFlow-GPU 1.创建conda环境 2.激活环境 3.安装tensorflow ...

  9. 微信小程序 - Vant weapp UI 框架环境搭建详细教程(Window)

    前言 强烈推荐您打开 官方文档,对照着本教程一起对比搭建坏境. 自从 2022 年开始,小程序做了很多改变和升级, 导致网上很多搭建教程文章的教程失效了,本文来做最新的教程. 第一步 为了更贴合新手, ...

最新文章

  1. 漫谈 Weblogic CVE-2020-2555
  2. linux——使用fidsk对linux硬盘进行操作【转】
  3. 做音视频开发,你读对书了吗?(内有福利)
  4. ML.NET 0.10特性简介
  5. dell主板40针开机针脚_技术活!戴尔主板的前置面板接口针脚的问题。
  6. 唯一可译码的判定方法matlab,用c++编写程序判定唯一可译码?
  7. OOAD理论知识小结
  8. CDN对互联网产业的价值和作用
  9. No pubspec.yaml file found. This command should be run from the root of your Flutter project. Do not
  10. LEXYACC--编译界的神
  11. C专家编程 第1章 C:穿越时空的迷雾 1.1 C语言的史前阶段
  12. 计算机怎么切换到音乐,win10系统如何快速切换到下一首歌曲?
  13. Bitbucket相关
  14. 什么是云备份,如何在教育行业正确使用云备份?
  15. 解决SSH连接超时的2个配置方法
  16. 电脑:键盘快捷键的更改(主要以dell笔记本电脑为模拟对象)
  17. 内核tty框架_串口_tty_shell的关系
  18. goinception审核规则
  19. 面试阿里巴巴有多难,看看面经你就知道了
  20. WebStrom代码中出现浅黄色背景

热门文章

  1. Elasticsearch 实战 - 第三讲:ES 基本操作、批处理
  2. 第三讲、Jmeter的两种脚本录制方法
  3. 推荐系统理论知识和基本思路
  4. (新)在IDEA中配置Maven镜像
  5. nmap端口扫描安装以及使用
  6. vue 项目中使用键盘回车或空格按键触发事件
  7. 美术理科生能报计算机专业吗,理科艺术生有哪些专业 理科生能报的大学
  8. 【Vue实用功能】Vue中实现粒子效果 particles.js
  9. java cookiesmanager,java 模拟浏览器的cookie管理机制
  10. PHP相关系列 - 浅析http协议、cookies和session机制、浏览器缓存 .