Linux搭建lnmp环境与mysql的配置文件

20 篇文章 0 订阅
6 篇文章 0 订阅

Linux搭建lnmp环境

版本:
PHP7.3.5
Nginx1.16
Mysql8.0


一、准备内容

1.新建目录

mkdir -p /lnmp/src

2.安装依赖

yum install gcc gcc-c++ automake pcre pcre-devel zlip zlib-devel openssl openssl-devel libxml2-devel libpng-devel curl-devel numactl

3.安装wget

yum -y install wget

二、安装Nginx

1.进入文件夹

cd /lnmp/src

2.下载Nginx

wget http://nginx.org/download/nginx-1.16.0.tar.gz

3.解压

tar -zxvf nginx-1.16.0.tar.gz

4.进入Nginx目录

cd nginx-1.16.0

5.配置Nginx文件以及选择安装的位置

./configure --prefix=/usr/local/nginx --with-http_ssl_module

6.编译以及安装

make && make install

7.复制启动文件到/usr/bin/目录下

cp /usr/local/nginx/sbin/nginx /usr/bin/

到此Nginx已安装完成
直接输入 nginx 回车即可启动nginx服务

安装nginx可能会遇到的问题
问题1:

checking for OS

  • Linux 3.10.0-957.el7.x86_64 x86_64
    checking for C compiler … not found

./configure: error: C compiler cc is not found

解决:

yum -y install gcc gcc-c++ autoconf automake make

问题2:

./configure: error: the HTTP rewrite module requires the PCRE library.
You can either disable the module by using --without-http_rewrite_module
option, or install the PCRE library into the system, or build the PCRE library
statically from the source with nginx by using --with-pcre= option.

解决:

yum -y install pcre-devel

问题3:

./configure: error: SSL modules require the OpenSSL library.
You can either do not enable the modules, or install the OpenSSL library
into the system, or build the OpenSSL library statically from the source
with nginx by using --with-openssl= option.

解决:

yum -y install openssl openssl-devel

启动nginx问题1:

nginx: [alert] could not open error log file: open() “/lnmp/nginx/logs/error.log” failed (2: No such file or directory)
2021/04/21 12:13:34 [emerg] 27113#0: open() “/lnmp/nginx/logs/access.log” failed (2: No such file or directory)

解决:

缺少 logs 文件夹 和 error.log access.log 两个文件

在 nginx 的目录下创建 logs 文件夹 和 error.log access.log 两个文件即可

命令:(在您的nginx目录下执行)


mkdir logs

touch error.log access.log

#nginx配置位置:
/usr/local/nginx/conf/nginx.conf

#站点目录位置:
/usr/local/nginx/html

#搭好后,本地无法访问
#关闭防火墙

sudo systemctl stop firewalld

#允许访问80端口

/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT

#此时就可以访问了


Nginx 无法访问PHP文件:

打开配置文件:vi /usr/local/nginx/conf/nginx.conf
在这里插入图片描述
将 65 - 71 行的注释去掉。

找到 69 行,把 69 行改为:fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

然后安装完 PHP 即可访问 PHP 文件了。


三、安装PHP

1.进入目录

cd /lnmp/src

2.下载PHP

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

3.解压PHP

tar -zxvf php-7.3.5.tar.gz

4.进入PHP文件夹

cd php-7.3.5

5.配置PHP文件以及选择安装的位置

./configure --prefix=/usr/local/php7 --enable-fpm --with-mysqli --with-curl --with-pdo_mysql --with-pdo_sqlite --enable-mysqlnd --enable-mbstring --with-gd

6.编译和安装PHP

make && make install

7.将php.ini文件复制到安装的的目录里面去

cp php.ini-development /usr/local/php7/lib/php.ini

8.进入安装PHP的目录里面

cd /usr/local/php7/etc/

9.将conf文件重命名

mv php-fpm.conf.default php-fpm.conf
mv php-fpm.d/www.conf.default php-fpm.d/www.conf

10.将启动文件复制一份到/usr/bin/目录里面去

cp /usr/local/php7/sbin/php-fpm /usr/bin/

11.修改php.ini的内容

vi /usr/local/php7/lib/php.ini

将 cgi.fix_pathinfo 的值改为 0

PHP到此就安装好了

开启PHP直接输入 php-fpm 回车即可


四、安装Mysql与修改配置文件

1.进入目录

cd /lnmp/src

2.下载mysql

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz

下载提示:下载慢的话,推荐使用迅雷下载;或者百度网盘下载,看下面连接:
mysql 8.0.21版本:https://blog.csdn.net/qq_39408664/article/details/119330219

解压mysql

tar -Jxf mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz

3.将mysql文件夹移动到/usr/local/,并且重新命名

mv mysql-8.0.18-linux-glibc2.12-x86_64 /usr/local/mysql

4.进入mysql目录

cd /usr/local/mysql

5.新建文件夹存放数据

mkdir data

7.创建mysql用户组和mysql用户

groupadd mysql
useradd -g mysql mysql

8.修改mysql目录权限

chown -R mysql.mysql /usr/local/mysql/

9.初始化

bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

#初始化后,出现一大串,最后面的为临时密码
xxx xxx xxx A temporary password is generated for root@localhost: 123456

10.修改配置文件

vi  /etc/my.cnf

[mysql]
default-character-set=utf8
[client]
port=3306
default-character-set=utf8
socket=/usr/local/mysql/tmp/mysql.sock
[mysqld]
socket=/usr/local/mysql/tmp/mysql.sock
port=3306
default_authentication_plugin=mysql_native_password
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
character-set-server=utf8
default-storage-engine=InnoDb
max_connections=1000
collation-server=utf8_unicode_ci
init_connect='SET NAMES utf8'
innodb_buffer_pool_size=64M
innodb_flush_log_at_trx_commit=1
innodb_lock_wait_timeout=120
innodb_log_buffer_size=4M
innodb_log_file_size=256M
interactive_timeout=120
join_buffer_size=2M
key_buffer_size=32M
log-error=/usr/local/mysql/data/data.err
log_error_verbosity=1
max_allowed_packet=256M
max_heap_table_size=64M
myisam_max_sort_file_size=64G
myisam_sort_buffer_size=32M
read_buffer_size=512kb
read_rnd_buffer_size=4M
log_bin=mysql-bin
server-id=1
skip-external-locking=on
sort_buffer_size=256kb
table_open_cache=256
thread_cache_size=16
tmp_table_size=64M
wait_timeout=2288800
general_log=ON
general_log_file=/usr/local/mysql/data/query_log.pid
slow_query_log=ON
slow_query_log_file=sql-slow.log
long_query_time=1
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

11.新建&修改目录权限
tmp 目录是存放 mysql.sock 文件的,该文件是用于mysql的连接,在每次开启时生成

mysql> mkdir tmp
mysql> chmod -R 777 tmp
mysql> chown -R mysql:mysql tmp

12.配置mysql服务

cp -a ./support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/rc.d/init.d/mysqld
chkconfig --add mysqld

13配置全局环境变量

vi /etc/profile

在 profile 文件最后面添加


export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib
export PATH

14.让环境变量设置立即生效

source /etc/profile

15.启动mysql

service mysqld start

16.登录mysql

mysql -uroot -p123456

密码是刚才生成的那个

17.修改密码

alter user 'root'@'localhost' identified by 'root';
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值