• Linux系统下配置LEMP


     安装 openssh-server

    然后可以通过XShell访问Linux。也可以通过scp命令上传下载文件

    sudo apt-get install openssh-server

    安装nginx

    sudo apt install nginx 

    OpenResty是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。借助于Nginx的事件驱动模型和非阻塞IO,可以实现高性能的Web应用程序。而且OpenResty提供了大量组件如Mysql、Redis、Memcached等等,使在Nginx上开发Web应用更方便更简单。目前在京东如实时价格、秒杀、动态服务、单品页、列表页等都在使用Nginx+Lua架构,其他公司如淘宝、去哪儿网等。

    安装telnet

    telnet测试远程主机端口是否打开

    sudo apt install telnet

    安装mysql5.7

    1. sudo apt install mysql-server
    2. sudo service mysql start
    3. sudo mysql_secure_installation

    运行mysql_secure_installation会执行几个设置:

    •   a)为root用户设置密码
    •   b)删除匿名账号
    •   c)取消root用户远程登录
    •   d)删除test库和对test库的访问权限
    •   e)刷新授权表使修改生效

    修改root的密码添加skip-grant-tables

    1. >sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
    2. [mysqld]
    3. skip-grant-tables
    4. #修改为256M
    5. max_allowed_packet = 256M

     配置后重启MySQL,可以无密码登录

    1. > mysql -u root
    2. mysql> update mysql.user set plugin="mysql_native_password" where user="root";
    3. mysql> set global validate_password_length=5;
    4. mysql> update mysql.user set authentication_string=password('0rb!t') where user='root' and Host = 'localhost';

    删除skip-grant-tables重启mysql。

    sudo service mysql restart

    MySQL允许远程访问的设置

    1. >sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
    2. # bind-address = 127.0.0.1
    3. grant all privileges on *.* to 'root'@'%' identified by '0rb!t' with grant option;

    navicat过期破解

    rm ~/.navicat64/*.reg #不行就删除目录

    安装php

    1. sudo apt install -y php-cli php-fpm php-dev libmcrypt-dev php-pear php-mysql php-sqlite3 php-uuid php-zip php-intl php-xml php-zmq php-imagick php-mcrypt php-curl php-bz2 php-memcached php-gd php-mbstring php-bcmath php-redis php-mongodb php-amqp
    2. pecl install mcrypt
    3. ln -s /etc/php/7.2/mods-available/mcrypt.ini /etc/php/7.2/fpm/conf.d/
    4. ln -s /etc/php/7.2/mods-available/mcrypt.ini /etc/php/7.2/cli/conf.d/

     为了避免麻烦(懒得高软链接了),我们干脆把站点配置文件都保存到 conf.d 中进行统一管理

    1. sudo cp /etc/nginx/sites-enabled/default /etc/nginx/conf.d/default.conf
    2. sudo rm -rf /etc/nginx/sites-available/
    3. sudo rm -rf /etc/nginx/sites-enabled/

     备份默认配置文件

    sudo cp /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.bak

    在linux中,nginx服务器和php-fpm可以通过tcp socket和unix socket两种方式实现。

    unix socket配置

    1. # vi /etc/php/7.2/fpm/pool.d/www.conf
    2. listen = /var/run/php5-fpm.sock
    3. listen.owner = www-data
    4. listen.group = www-data

    如果使用tcp方式访问,上面注释即可,使用下面的

    1. listen = 127.0.0.1:9000
    2. user = www-data
    3. group = www-data
    4. #设置默认启动php-fpm子进程数和最大启动数
    5. pm.max_children = 200
    6. pm.start_servers = 20
    7. pm.min_spare_servers = 10
    8. pm.max_spare_servers = 30

    从5.3.9开始,php官方加入了一个配置"security.limit_extensions",默认状态下只允许执行扩展名为".php"的文件,造成了其他类型的文件不支持的问题

    security.limit_extensions=.php .html .js .css .jpg .jpeg .gif .png .htm

    启动php-fpm 时提示failed to retrieve TCP_INFO for socket: Protocol not available的问题,修改php-fpm.conf文件,设置 log_level = alert,重启php-fpm 即可

    php多版本共存切换

    sudo update-alternatives --config php 

     

    查看php-fpm tcp端口号

    netstat -tln | grep 900*

     查看服务列表 +号代表已经启动,-代表没有启动

    service --status-all

    07eedc2a-f803-3f0b-9340-0f48d30a5f59.jpg
     重启php-fpm服务

    service php7.2-fpm restart

    查看php-fpm的的文件位置

    ps -ef | grep php-fpm.conf

    修改默认配置文件,添加php支持

    sudo vim /etc/nginx/conf.d/default.conf

    重启nginx

    sudo service nginx restart

     保存配置访问 http://localhost/phpinfo.php , 如果出现 phpinfo 页面,则大功告成。如果启动不了,在 /var/log/nginx/error.log文件查找原因

    pkill -9 nginx

     查看nginx进程命令

    ps -ef | grep  nginx

    php-fpm默认属于www-data用户组,但是其权限很低,比如不能创建文件夹,所以需要对其授权

    1. sudo chown -R www-data:www-data /data/www
    2. sudo chmod -R 775 /data/www

     你可以执行一下下面这条命令,看下你目前的 php-fpm 是用什么身份运行的

    ps aux | grep -v root | grep php-fpm | cut -d\  -f1 | sort | uniq

    安装Redis

    1.安装Redis服务

    apt-get install redis-server

    2.启动服务

    /etc/init.d/redis-server start

    3.连接服务

    1. redis-cli
    2. redis-cli -h host -p port -a password

    安装php-redis扩展

    sudo apt install php-redis

    Redis配置远程密码连接

    修改redis.conf 

    Ubuntu中默认的路径是/etc/redis/redis.conf,也可以用whereis redis.conf 直接查找, 注释这一行

    bind 127.0.0.1 ::1 

    修改protected-mode 为no,推荐给 Redis 设置密码,取消注释这一行

    1. protected-mode no
    2. requirepass 0rb!t

    0rb!t即当前密码,可以自行修改,然后重启 Redis服务,现在就可以使用密码远程连接 Redis 了
    7e05cafd-2c44-3b61-8165-5cc9895b2691.png

    Error while reading line from the server. [tcp://127.0.0.1:6379]

    设置read_write_timeout=-1和redis.conf的timeout参数=0。

  • 相关阅读:
    启山智软/JAVA商城
    【python学习第11节笔记:正则表达式,python中使用正则表达式】
    selenium-webdriver 阿里云ARMS 自动化巡检
    DownloadWithEscaping/下载数据并且转义返回数据, DownloadWithCombine/下载数据并且组合数据 的使用
    with语句和上下文管理器
    Pytorch可视化:安装 Graphviz
    OpenCV(三十四):轮廓外接最大、最小矩形和多边形拟合
    Django ModelForm编辑用户
    存档&改造【05】通过视图实现多表联查&理清层级关系
    1802_在Linux系统上开发ARM单机片机嵌入式软件
  • 原文地址:https://blog.csdn.net/hudeyong926/article/details/126399339