LNMP环境搭建详细教程
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环境搭建详细教程相关推荐
- Win10 Anaconda下TensorFlow-GPU环境搭建详细教程(包含CUDA+cuDNN安装过程)(转载)...
win7(win10也适用)系统安装GPU/CPU版tensorflow Win10 Anaconda下TensorFlow-GPU环境搭建详细教程(包含CUDA+cuDNN安装过程) 目录 2.配置 ...
- Kubernetes集群环境搭建详细教程(一主两从)
Kubernetes集群环境搭建详细教程(一主两从) 1.1 安装要求 在开始之前,部署Kubernetes 集群机器需要满足以下几个条件: 一台或多台机器,操作系统CentOS7.x-86_x64 ...
- win0php环境搭建,win10php环境搭建详细教程
大家在将系统更新为Win10系统后,对php环境搭建方法并不是很清楚.那么win10php环境搭建要怎么操作呢?其实win10php环境搭建的方法跟Win7/Win8.1系统的php环境搭建是相同道理 ...
- 1 Go语言开发环境搭建详细教程+go常见bug合集【Go语言教程】
Go语言开发环境搭建[Win.Linux.Mac] 1 SDK下载 官网地址:golang.org,因为一些原因国内可能无法访问.可以使用下面第二个链接. 国内地址访问:https://golang. ...
- 通用SSM项目环境搭建详细教程
一.新建一个Maven项目 1. 2.不使用骨架,直接next 3.(项目名称.工作空间.分组Id设置.按照个人喜好即可,不推荐使用中文) -> 直接Finish 4.看到如下图的pom.xml ...
- PHP开发环境搭建详细教程
首先你需要安装Apache Server,这里以当前最新版Apache Server2.4为例进行说明,可惜官网并没有提供最新版的msi安装包,连编译后的binary二进制压缩包都没提供,不过我已经编 ...
- Rust语言开发环境搭建详细教程
目录 一.Rust简介 1.rust历史 2.rust吉祥物 二.Rust开发环境搭建 1.C++环境安装 2.Rust下载 3.rust安装 4.rust环境检测 查看rust版本 查看cargo版 ...
- Win10 Anaconda下TensorFlow-GPU环境搭建详细教程(包含CUDA+cuDNN安装过程)
目录 前言 第一步:安装Anaconda 1.下载和安装 2.配置Anaconda环境变量 第二步:安装TensorFlow-GPU 1.创建conda环境 2.激活环境 3.安装tensorflow ...
- 微信小程序 - Vant weapp UI 框架环境搭建详细教程(Window)
前言 强烈推荐您打开 官方文档,对照着本教程一起对比搭建坏境. 自从 2022 年开始,小程序做了很多改变和升级, 导致网上很多搭建教程文章的教程失效了,本文来做最新的教程. 第一步 为了更贴合新手, ...
最新文章
- 漫谈 Weblogic CVE-2020-2555
- linux——使用fidsk对linux硬盘进行操作【转】
- 做音视频开发,你读对书了吗?(内有福利)
- ML.NET 0.10特性简介
- dell主板40针开机针脚_技术活!戴尔主板的前置面板接口针脚的问题。
- 唯一可译码的判定方法matlab,用c++编写程序判定唯一可译码?
- OOAD理论知识小结
- CDN对互联网产业的价值和作用
- No pubspec.yaml file found. This command should be run from the root of your Flutter project. Do not
- LEXYACC--编译界的神
- C专家编程 第1章 C:穿越时空的迷雾 1.1 C语言的史前阶段
- 计算机怎么切换到音乐,win10系统如何快速切换到下一首歌曲?
- Bitbucket相关
- 什么是云备份,如何在教育行业正确使用云备份?
- 解决SSH连接超时的2个配置方法
- 电脑:键盘快捷键的更改(主要以dell笔记本电脑为模拟对象)
- 内核tty框架_串口_tty_shell的关系
- goinception审核规则
- 面试阿里巴巴有多难,看看面经你就知道了
- WebStrom代码中出现浅黄色背景
热门文章
- Elasticsearch 实战 - 第三讲:ES 基本操作、批处理
- 第三讲、Jmeter的两种脚本录制方法
- 推荐系统理论知识和基本思路
- (新)在IDEA中配置Maven镜像
- nmap端口扫描安装以及使用
- vue 项目中使用键盘回车或空格按键触发事件
- 美术理科生能报计算机专业吗,理科艺术生有哪些专业 理科生能报的大学
- 【Vue实用功能】Vue中实现粒子效果 particles.js
- java cookiesmanager,java 模拟浏览器的cookie管理机制
- PHP相关系列 - 浅析http协议、cookies和session机制、浏览器缓存 .