linux搭建lnmp环境
参考:https://www.cnblogs.com/phpshangxiaobai/p/10864525.html
(php7.3.5 + nginx1.16 + mysql8)
1、准备
copy#新建目录,/lnmp/php7、/lnmp/nginx
mkdir -p /lnmp/php7
mkdir /lnmp/nginx
#安装依赖
yum install gcc gcc-c++ automake pcre pcre-devel zlip zlib-devel openssl openssl-devel libxml2-devel libpng-devel curl-devel numactl
2、安装nginx
copycd /lnmp
yum -y install wget #安装wget
wget http://nginx.org/download/nginx-1.16.0.tar.gz #下载nginx
tar xvf nginx-1.16.0.tar.gz #解压
cd nginx-1.16.0
./configure --prefix=/lnmp/nginx --with-http_ssl_module #安装到/lnmp/nginx
make && make install #编译&安装
cp /lnmp/nginx/sbin/nginx /usr/bin/
nginx #开启
nginx -s stop #关闭
nginx -s reload #平滑重启
安装后可能会遇到的问题
copy#nginx配置位置:/lnmp/nginx/conf/nginx.conf
#站点目录位置:/lnmp/nginx/html
#搭好后,本地无法访问
#关闭防火墙
sudo systemctl stop firewalld
#允许访问80端口
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
#此时就可以访问了
4、安装php
copycd /lnmp
wget https://www.php.net/distributions/php-7.3.5.tar.gz
tar xvf php-7.3.5.tar.gz
cd php-7.3.5
./configure --prefix=/lnmp/php7 --enable-fpm --with-mysqli --with-curl --with-pdo_mysql --with-pdo_sqlite --enable-mysqlnd --enable-mbstring --with-gd
make && make install
cp php.ini-development /lnmp/php7/lib/php.ini
cd /lnmp/php7/etc/
#重命名
mv php-fpm.conf.default php-fpm.conf
mv php-fpm.d/www.conf.default php-fpm.d/www.conf
cp /lnmp/php7/sbin/php-fpm /usr/bin/
#修改配置文件php.ini,(/lnmp/php7/lib/php.ini)
cgi.fix_pathinfo=0
php-fpm #开启
killall php-fpm #关闭
安装后可能会遇到的问题
copy#访问php文件,变成下载
vi /lnmp/nginx/conf/nginx.conf
#找到下面这段,将注释去掉
###
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
#fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
###
#访问php文件,出现No input file specified
将上面的location ~ \.php$ {...}
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
替换为
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
#保存重启nginx
nginx -s reload
5、安装mysql
copycd /lnmp
#下载
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz
#解压
tar -Jxf mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz
#移到lnmp目录,重命名mysql
mv mysql-8.0.18-linux-glibc2.12-x86_64 /lnmp/mysql
cd /lnmp/mysql
mkdir data #用于存放数据
#创建mysql用户组和mysql用户
groupadd mysql
useradd -g mysql mysql
#修改mysql目录权限
chown -R mysql.mysql /lnmp/mysql/
#初始化
bin/mysqld --initialize --user=mysql --basedir=/lnmp/mysql --datadir=/lnmp/mysql/data
#初始化后,出现一大串,最后面的为临时密码
xxx xxx xxx A temporary password is generated for root@localhost: mhr#qEJO+7?h
#修改配置文件
vim /etc/my.cnf
###
[mysqld]
basedir = /lnmp/mysql
datadir = /lnmp/mysql/data
socket = /tmp/mysql/mysql.sock
character-set-server=utf8
port = 3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[client]
socket = /tmp/mysql/mysql.sock
default-character-set=utf8
###
#新建&修改目录权限
mkdir -p /tmp/mysql/
chmod -R 777 /tmp/mysql
chown -R mysql:mysql /tmp/mysql/
#配置mysql服务
cp -a ./support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
#配置全局环境变量
vim /etc/profile
#profile文件中添加
###
export PATH=$PATH:/lnmp/mysql/bin:/lnmp/mysql/lib
export PATH
###
#让环境变量设置立即生效
source /etc/profile
#启动mysql
service mysqld start
#登录mysql
mysql -uroot -pmhr#qEJO+7?h
#修改密码
alter user 'root'@'localhost' identified by 'root';
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构