分享按钮

Linux快速安装 LNMP

LINUX / 2609人浏览 / 0人评论

点击进入,直接配置需要的环境即可

一键安装 1) https://oneinstack.com/auto/

2)https://lnmp.org/


下面这是单独安装

nginx 

  第一步  /usr/loca/  

nginx  官网http://nginx.org/en/download.html

1, wget -c https://nginx.org/download/nginx-1.18.0.tar.gz

 第二步 配置nginx安装所需的环境

1 安装gcc

安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境。安装指令如下:

 yum install gcc gcc-c++

安装PCRE pcre-devel

Nginx的Rewrite模块和HTTP核心模块会使用到PCRE正则表达式语法。这里需要安装两个安装包pcre和pcre-devel。第一个安装包提供编译版本的库,而第二个提供开发阶段的头文件和编译项目的源代码。安装指令如下:

yum install -y pcre pcre-devel

3.安装zlib

zlib库提供了开发人员的压缩算法,在Nginx的各种模块中需要使用gzip压缩。安装指令如下:

yum install -y zlib zlib-devel

4.安装Open SSL

nginx不仅支持 http协议,还支持 https(即在 ssl 协议上传输 http),如果使用了 https,需要安装 OpenSSL 库。安装指令如下:

yum install -y openssl openssl-devel

第三步:解压nginx压缩包并安装

tar -zxvf nginx-1.18.0.tar.gz

进入 nginx-1.18.0 然后进行配置,推荐使用默认配置,直接./configure就好了,

如果需要开始https支持,这里请不要直接执行./configure,即不要直接执行该脚本,而是在该脚本后面加上SSL模块,请执行如下命令替代 ./confingure :

./configure --with-http_ssl_module

-with-http_ssl_module 的意思,是添加https支持。

第四步:编译安装nginx

make  && make install 

安装完成 如下

第五步:启动nginx

进入/usr/local/nginx/sbin目录,输入./nginx即可启动nginx

关闭 

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

重启

./nginx -s reload

查看nginx进程

ps aux|grep nginx

设置nginx开机启动,只需在rc.local增加启动代码即可。

vim /etc/rc.local

然后在底部增加/usr/local/nginx/sbin/nginx

进入/usr/local/nginx/conf目录可修改nginx的配置文件 -> vim nginx.conf


二安装MySQL

mysql 官网 下载https://downloads.mysql.com/archives/community/

1, wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

2,tar xzvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

3,mv  mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz  mysql

4在/usr/local/mysql目录下创建data目录

    mkdir /usr/local/mysql/data

5更改mysql目录下所有的目录及文件夹所属的用户组和用户,以及权限

  chown -R mysql:mysql /usr/local/mysql

  chmod -R 755 /usr/local/mysql

6,编译安装并初始化mysql,务必记住初始化输出日志末尾的密码(数据库管理员临时密码)

[root@localhost /]# cd /usr/local/mysql/bin

        [root@localhost bin]# ./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql


7,

[root@localhost bin]#  vi /etc/my.cnf

       [mysqld]

datadir=/usr/local/mysql/data

port=3306

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

symbolic-links=0

max_connections=600

innodb_file_per_table=1

lower_case_table_names=1

character_set_server=utf8

lower_case_table_names:是否区分大小写,1表示存储时表名为小写,操作时不区分大小写;0表示区分大小写;不能动态设置,修改后,必须重启才能生效:
character_set_server:设置数据库默认字符集,如果不设置默认为latin1
innodb_file_per_table:是否将每个表的数据单独存储,1表示单独存储;0表示关闭独立表空间,可以通过查看数据目录,查看文件结构的区别;

8,[root@localhost /]# /usr/local/mysql/support-files/mysql.server start

9,添加软连接,并重启mysql服务

    [root@localhost /]#  ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql 

    [root@localhost /]#  ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql

    [root@localhost /]#  service mysql restart


10,登录mysql,修改密码(密码为步骤6生成的临时密码)

             [root@localhost /]#  mysql -u root -p

Enter password:

mysql>set password for root@localhost = password('yourpass');


11,开放远程连接

               mysql>use mysql;

msyql>update user set user.Host='%' where user.User='root';

mysql>flush privileges;

参考地址  https://www.jianshu.com/p/276d59cbc529    https://www.cnblogs.com/manongxianfeng/p/14317941.html


安装 PHP 

安装php依赖包

1) yum -y 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 gcc gcc-c++


 PHP 官网 https://www.php.net/downloads.php

2),[root@iZwz9g1qpfdlqf9gxv0sytZ local]# wget https://www.php.net/distributions/php-7.3.24.tar.gz

3),[root@iZwz9g1qpfdlqf9gxv0sytZ local]# tar -xzvf php-7.3.24.tar.gz


4) cd php.3.24

 5) ./configure  --prefix=/usr/local/php --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-config-file-path=/usr/local/php/conf --disable-rpath --enable-soap --with-libxml-dir --with-xmlrpc --with-openssl --with-mhash --with-pcre-regex --with-zlib --enable-bcmath --with-bz2 --enable-calendar --with-curl --enable-exif --with-pcre-dir --enable-ftp --with-gd --with-openssl-dir --with-jpeg-dir --with-png-dir --with-zlib-dir --with-freetype-dir --enable-gd-jis-conv --with-gettext --with-gmp --with-mhash --enable-mbstring --with-onig --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-zlib-dir --with-readline --enable-shmop --enable-sockets --enable-sysvmsg --enable-sysvsem  --enable-sysvshm  --enable-wddx --with-libxml-dir --with-xsl --enable-zip --with-pear


make 


 make install

(https://www.php.net/manual/zh/install.unix.nginx.php PHP编译文档)

6)创建配置文件,并将其复制到正确的位置。

cp php.ini-development /usr/local/php/php.ini
cp /usr/local/etc/php-fpm.d/www.conf.default /usr/local/etc/php-fpm.d/www.conf
cp sapi/fpm/php-fpm /usr/local/bin


将 php.ini 文件中的配置项 cgi.fix_pathinfo 设置为 0 。

打开 php.ini:

vim /usr/local/php/php.ini

定位到 cgi.fix_pathinfo= 并将其修改为如下所示:

cgi.fix_pathinfo=0

在启动服务之前,需要修改 php-fpm.conf 配置文件,确保 php-fpm 模块使用 www-data 用户和 www-data 用户组的身份运行。

vim /usr/local/etc/php-fpm.d/www.conf

找到以下内容并修改:

; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
;       will be used.
user = www-data
group = www-data

然后启动 php-fpm 服务:

/usr/local/bin/php-fpm


4 nginx 和 PHP-FPM 开机自启

在这里我是用源码编译安装的,所以要手动创建nginx.service服务文件

 

开机没有登陆情况下就能运行的程序,存在系统服务(system)里,即:
/lib/systemd/system/

  1. 在系统服务目录里创建nginx.service文件
    vi /lib/systemd/system/nginx.service
    nginx.service内容如下:

[Unit]

Description=nginx

After=network.target

 

[Service]

Type=forking

ExecStart=/usr/local/nginx/sbin/nginx

ExecReload=/usr/local/nginx/sbin/nginx -s reload

ExecStop=/usr/local/nginx/sbin/nginx -s quit

PrivateTmp=true

 

[Install]

WantedBy=multi-user.target


Description:描述服务

After:描述服务类别

[Service]服务运行参数的设置

Type=forking是后台运行的形式

ExecStart为服务的具体运行命令

ExecReload为重启命令

ExecStop为停止命令

PrivateTmp=True表示给服务分配独立的临时空间

注意:[Service]的启动、重启、停止命令全部要求使用绝对路径

[Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3


设置开机启动

systemctl enable nginx.service

自此,重新centos后,nginx就自动启动了


nginx其他命令:

systemctl start nginx.service (启动nginx服务)

systemctl stop nginx.service (停止nginx服务)

systemctl enable nginx.service (设置开机自启动)

systemctl disable nginx.service (停止开机自启动)

systemctl status nginx.service (查看服务当前状态)

systemctl restart nginx.service (重新启动服务)

systemctl list-units --type=service (查看所有已启动的服务)


在系统服务目录里创建php-fpm.service文件

1)vi /lib/systemd/system/php-fpm.service

2)复制下面代码 并保存


  1. [Unit]
  2. Description=php-fpm
  3. After=network.target
  4. [Service]
  5. Type=forking
  6. ExecStart=/www/lnmp/php/sbin/php-fpm
  7. PrivateTmp=true
  8. [Install]
  9. WantedBy=multi-user.target

  1. 3)执行  systemctl enable php-fpm.service

重启服务器,查看是否启动

shutdown -r now        #重启

systemctl list-units --type=service           #查看运行的服务

开机自启参考链接 :链接



感谢博主,喝杯咖啡~

请喝咖啡


感谢博主,喝杯咖啡~

心灵鸡汤

如果爱他,接受他的现在,别幻想他的改变。如果他能改,当然最好,不然,就想一想,你能不能接受。婚前的每一个缺点,婚后都会被放大。他抽烟,而你又爱他,就努力接受吧,婚后戒烟的男人太少了。其他缺点也是一样。