配置lnmp运行环境

本文详细介绍了如何在Linux环境中安装和配置MySQL、Nginx以及PHP,包括文件上传下载、编辑、环境变量设置、服务启动和安全配置等步骤,是搭建LAMP(Linux、Apache、MySQL、PHP)或LEMP(Linux、Nginx、MySQL、PHP)服务器的基础教程。
摘要由CSDN通过智能技术生成

上传文件到服务器

yum-y install lrzsz 安装lrzsz

rz是将Windows系统上的文件上传到Linux下

sz是将Linux系统下的文件上传到Windows下

打开到/usr/local 创建php目录:mkdir php

上传压缩包 解压压缩包:

Zip格式:unzip filename

Tar格式:tar -xvf filename

Tar.gz格式:ls

下载文件

curl -O 文件地址 -- 直接将文件下载下来

curl -o 文件名 文件地址 -- 将文件下载下来顺便改名

编辑文件

第一步:cd到该文件的目录下

第二步:vi +要编辑的文件名,进入普通模式(可以查看文件内容,此时不能编辑)

第三步:输入 i 进入编辑模式,开始编辑文本

第四步:编辑之后,按ESC退出到普通模式。

第五步:在普通模式下,输入 : 进入命令模式 (shift+:)

第六步:在命令模式下输入wq, 即可保存并退出

Mysql

第二步:解压MySQL软件包,然后移动到/usr/local目录下,起名为mysql

# rm -rf /usr/local/mysql

# tar -xfmysql-5.7.31-linux-glibc2.12-x86_64.tar.gz

# mvmysql-5.7.31-linux-glibc2.12-x86_64 /usr/local/mysql

第三步:创建一个特定的mysql账号,用于启动与运行mysql软件

# useradd -r -s/sbin/nologin mysql

第四步:进入/usr/local/mysql目录,创建mysql-files文件

# cd /usr/local/mysql

# mkdirmysql-files

第五步:更改mysql-files文件夹权限(拥有者与所属组以及文件夹权限750)

# chownmysql.mysql mysql-files

# chmod 750mysql-files

第六步:删除默认配置文件my.cnf,然后初始化MySQL

# rm -rf/etc/my.cnf

# bin/mysqld--initialize --user=mysql --basedir=/usr/local/mysql /mysql-files

若报错:bin/mysqld: error while loadingshared libraries: libaio.so.1: cannot open shared object file: No such file ordirectory;安装依:yum install libaio

若警告:TIMESTAMP with implicit DEFAULTvalue is deprecated. Please use --explicit_defaults_for_timestamp server option(see documentation for more details).

在初始化命令后加上:--explicit_defaults_for_timestamp=true

[Note] A temporarypassword is generated for root@localhost: 初始化密码

根据需要决定是否开启SSL加密传输

#bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data

第七步:添加环境变量,启动MySQL,进入mysql,更改mysql的默认密码

# echo 'exportPATH=$PATH:/usr/local/mysql/bin' >> /etc/profile

# source/etc/profile

# cpsupport-files/mysql.server /etc/init.d/mysqld

# service mysqldstart

# mysql -p

Enter password: 初始化密码

mysql> setpassword='123';

mysql> flushprivileges;

第八步:进行数据库的安全初始化

#mysql_secure_installation

第九步:配置mysqld服务随开机自动启动

# chkconfig --list

# chkconfig --addmysqld

# chkconfig mysqldon

————————————————

原文链接:https://blog.csdn.net/weixin_48592627/article/details/108646231

Nginx

第三步:创建一个www账号

# useradd -r -s/sbin/nologin www

第四步:使用./configure对Nginx软件进行配置(对软件安装包进行配置)

# cd nginx-1.16.0

# ./configure--prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module--with-http_stub_status_module --with-http_realip_module

若报错:./configure:error: the HTTP rewrite module requires the PCRE library.

安装pcre:yum -y install pcre-devel

若报错:./configure:error: SSL modules require the OpenSSL library.

安装OpenSSL:yum -y installopenssl openssl-devel

第五步: 编译与安装Nginx软件

# make && make install


若报错:cp: ‘conf/koi-win’ 与’/usr/local/nginx/conf/koi-win’ 为同一文件


make[1]: *** [objs/Makefile:1211:install] 错误1


make[1]: 离开目录“/usr/local/nginx”


make: *** [Makefile:13:install] 错误2


运行:./configure--prefix=/usr/local/nginx --conf-path=/usr/local/nginx/nginx.conf


PHP

第二步:解压PHP软件包

# tar -xfphp-7.2.12.tar.gz

# cd php-7.2.12

第三步:源码安装三步走(① 配置 ② 编译 ③ 安装)

#./configure--prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm--with-fpm-user=www --with-fpm-group=www --with-mysqli=mysqlnd--with-pdo-mysql=mysqlnd --with-iconv-dir --with-freetype-dir --with-jpeg-dir--with-png-dir --with-zlib --with-libxml-dir --enable-xml --disable-rpath--enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization--with-curl --enable-mbregex --enable-mbstring --enable-ftp --with-gd--with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc--with-libzip --enable-soap --without-pear --with-gettext --disable-fileinfo--enable-maintainer-zts

若报错:checking for cURL 7.15.5 orgreater… configure: error: cURL version 7.15.5 or later is required to compilephp with cURL support

安装curl# yum-y install curl-devel

若报错:jpeglib.h notfound

安装libpng # yum-y install libjpeg-devel

若报错:freetype-confignot found

安装libfreetype6# yuminstall freetype-devel

若报错:configure:error: libxml2 not found. Please check your libxml2 installation.

安装libxml2:yum install libxml2-devel

编译

# make

Make报错:[ext/sqlite3/libsqlite/sqlite3.lo]Error 1

make: ***[Makefile:1908: Zend/zend_execute.lo] Error 1

大概率可能内存不够

make install

启动php服务

sudo systemctlstart php-fpm

联系PHP和Nginx

让Nginx可以转发PHP代码到PHP-FPM

第一步:进入/usr/local/nginx目录,然后把conf/nginx.conf文件进行备份

# cd/usr/local/nginx

# cpconf/nginx.conf conf/nginx.conf.bak

第二步:使用grep过滤conf/nginx.conf文件,只显示非注释内容

# grep -Ev '#|^$' conf/nginx.conf

第三步:去除http模块中的root选项(项目目录),只在server模块中保留一个即可

第四步:添加PHP支持,让Nginx可以识别.php文件,然后转发给9000端口worker_processes 1;

events {

worker_connections 1024;

}

http {

include mime.types;

default_type application/octet-stream;

sendfile on;

keepalive_timeout 65;

server {

listen 80;

server_name localhost;

root html; => 整个server只保留一个root选项

location / {

index index.html index.htm;

}

------------------ 华丽的分割线--------------------

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;

}

------------------ 华丽的分割线--------------------

error_page 500 502 503 504 /50x.html;

location = /50x.html {

}

}

}

设置完成后,重启Nginx软件(重载reload)

# systemctl reload nginx

重启若报错:Job for nginx.service invalid.

查看nginx状态

# systemctl status nginx.service

没有看到端口占用说明nginx没有启动直接启动

# systemctl start nginx.service

若报错:Failed to reload nginx.service: Unit not found.

没有启动脚本参:https://www.5axxw.com/questions/content/a0akl7

其他ngxin命令

#停止nginx服务

systemctl stop nginx.service

#重启nginx服务

systemctl restart nginx.service

#重新读取nginx配置(这个最常用, 不用停止nginx服务就能使修改的配置生效)

systemctl reload nginx.service

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值