搭建LNMP环境V1.2(ubuntu16-php7)

技术文档网 2021-04-16

更新

apt install python-software-properties software-properties-common #添加APP
apt update #更新软件包列表

安装依赖和常用工具

apt install -y git pkg-config build-essential libmemcached-dev
apt update #更新软件包列表

安装php7

1.安装
apt-add-repository ppa:ondrej/php #使用PPA ppa:ondrej/php库
apt update #更新软件包列表
apt install php7.0 php7.0-fpm php7.0-mysql php7.0-common php7.0-curl php7.0-cli php7.0-dev php7.0-mcrypt php7.0-mbstring php7.0-dom php7.0-gd #安装php

2.启用php7.0-mcrypt扩展
phpenmod mcrypt #禁用扩展:phpdismod mcrypt,也可在/etc/php/7.0/fpm/conf.d下配置相应的软连接

配置php-fpm

1.配置:/etc/php/7.0/fpm/php-fpm.conf
error_log = /var/log/php7.0-fpm.log #错误日志

2.配置:/etc/php/7.0/fpm/pool.d/www.conf
#启动进程的用户和用户组
user = www-data
group = www-data

#接受FASCGI请求的地址,与nginx server fastcgi_pass 保持一致。
listen = /run/php/php7.0-fpm.sock
#listen = 127.0.0.1:9000

1.重启php7.0-fpm
systemctl restart php7.0-fpm.service
#service php7.0-fpm restart

安装nginx

1.安装
apt install -y nginx

2.配置/etc/nginx/nginx.conf
user www-data; #修改user
include /etc/nginx/conf.d/*.conf; #配置文件
include /etc/nginx/sites-enabled/*; #网站配置

3.配置自定义站点(itzsc):/etc/nginx/sites-enabled/itzsc
server {
      listen 80;

      root /var/www/itzsc;

      # Add index.php to the list if you are using PHP
      index index.php index.html index.htm index.nginx-debian.html;

      server_name itzsc.local;

      location / {
              # First attempt to serve request as file, then
              # as directory, then fall back to displaying a 404.
              try_files $uri $uri/ =404;
      }

      # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
      #
      location ~ \.php$ {
             include snippets/fastcgi-php.conf;

             # With php7.0-cgi alone:
             #fastcgi_pass 127.0.0.1:9000;
             # With php7.0-fpm:
             fastcgi_pass unix:/run/php/php7.0-fpm.sock; #和php-fpm保持一致
      }

      # deny access to .htaccess files, if Apache's document root
      # concurs with nginx's one
      #
      location ~ /\.ht {
             deny all;
      }
}

4.重启Nginx
systemctl restart nginx

安装mysql5.7

1.安装
apt install mysql-server-5.7 mysql-client-5.7

安装memcache

1.安装
apt install memcached;

2.测试
root@iZ2ze6eh8ih10ipjw903liZ:~# telnet 127.0.0.1 11211
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
set name 0 60 3
zsc
STORED
get name
VALUE name 0 3
zsc
END
quit
Connection closed by foreign host.

安装memcached扩展

1.安装依赖
#apt install -y php7.0-dev libmemcached-dev libmemcached11 git build-essential

2.安装memcached
git clone https://github.com/php-memcached-dev/php-memcached.git
cd php-memcached/
git checkout php7 #切换php7分支
phpize
./configure --disable-memcached-sasl #执行配置文件
make && make install #编译安装

3.将扩展添加到php.ini
echo 'extension=memcached.so' > /etc/php/7.0/mods-available/memcached.ini

4.启动扩展
phpenmod memcached

5.重启php-fpm
systemctl restart php7.0-fpm.service

6.cli测试
php --ri memcached

7.php测试
<?php
$m = new Memcached();
$m->addServer('localhost', 11211);
$m->set('foo', 100);
$getFoo = $m->get('foo');
var_dump($getFoo);
?>

安装redis

1.安装
apt install redis-server

2.测试
root@iZ2ze6eh8ih10ipjw903liZ:~# redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379> set name 123
OK
127.0.0.1:6379> get name
"123"
127.0.0.1:6379> exit

安装redis扩展

1.安装所需的依赖项
#apt install php7.0-dev -y

2.安装phpredis
apt install git -y #安装git
cd /tmp
git clone https://github.com/phpredis/phpredis #克隆
cd phpredis
phpize && ./configure && make && make install

3.将扩展添加到php.ini
echo 'extension=redis.so' > /etc/php/7.0/mods-available/redis.ini

4.启动扩展
phpenmod redis

5.重启php-fpm
systemctl restart php7.0-fpm.service

6.cli测试
php --ri redis

7.php测试
<?php
$redis= new Redis();
$redis->connect('localhost',6379);
$redis->set('foo','101');
$getFoo = $redis->get('foo');
var_dump($getFoo);
?>

安装svn

1.安装
apt install subversion

2.创建SVN仓库
mkdir -p /opt/svn/repos/ #创建仓库存放目录
svnadmin create /opt/svn/repos/itzsc #创建svn仓库itzsc

3.配置用户密码
vim /opt/svn/repos/itzsc/conf/passwd
[users]#配置用户密码,顶格写[用户名 = 密码]
admin = 123456
cms_admin = 123456
cms_guest = 123456
app_admin = 123456
app_guest = 123456

4.配置权限
vim /opt/svn/repos/itzsc/conf/authz
[groups]#配置组,顶格写[组 = 用户]
cms = cms_admin
app = app_admin
guest = cms_guest,app_guest

[/]#根目赋予admin读写权限,其他用户没有权限
admin = rw
* =

[/cms]#cms目录赋予cms组读写权限,guest组读权限
@cms = rw
@guest = r

[/app]#app目录赋予app组读写权限,其他用户读权限
@app = rw
* = r

5.配置svnserve.conf
vim /opt/svn/repos/itzsc/conf/svnserve.conf
[general]
#匿名访问的权限,可以是read,write,none,默认为read
anon-access=none
#使授权用户有写权限
auth-access=write
#用户密码读取passwd文件
password-db=passwd
#权限读取authz文件
authz-db=authz

6.启动SVN
svnserve -d -r /opt/svn/repos/itzsc

7.测试
svn co svn://47.94.227.64  --username admin #检出
svn add * --force  #添加文件
svn ci -m "test"   #提交
svn up #更新

安装apache

#如果已启动nginx,先停用:systemctl stop nginx

1.安装
apt install -y apache2

2.配置VirtualHost
vim /etc/apache2/sites-enabled/000-default.conf

<VirtualHost *:80>
    # 管理员邮箱
    ServerAdmin xxxx@xxxx.com
    # 网站根目录
    DocumentRoot "/var/www/html/itzsc/"
    # 网站域名
    ServerName itzsc.local
    # log文件保存路径
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    # 该虚拟主机根目录权限相关设置
    <Directory />
        # 允许根目录中的.htaccess生效并覆盖此处设置
        AllowOverride All
        # 允许该目录所有的用户操作权限
        Require all granted
    </Directory>
</VirtualHost>

3.配置fcgi
a2enconf php7.0-fpm #启用配置,禁用:a2disconf php7.0-fpm
#等同:
#cd /etc/apache2/conf-enabled
#ln -s ../conf-available/php7.0-fpm.conf

a2enmod  proxy_fcgi #启用mod,禁用:a2dismod proxy_fcgi
#等同:
#cd /etc/apache2/mods-enabled
#ln -s ../mods-available/proxy_fcgi.load

4.重启
service apache2 reload #重载配置
#service apache2 restart #重启
#systemctl restart apache2 #重启
apt 命令( Ubuntu 16.04 ) 替代的命令 功能
apt install apt-get install 安装软件包
apt remove apt-get remove 移除软件包
apt purge apt-get purge 移除软件包及配置文件
apt update apt-get update 刷新存储库索引
apt upgrade apt-get upgrade 升级所有可升级的软件包
apt autoremove apt-get autoremove 自动删除不需要的包
apt full-upgrade apt-get dist-upgrade 在升级软件包时自动处理依赖关系
apt search apt-cache search 搜索应用程序
apt show apt-cache show 显示装细节
apt list 列出包含条件的包(已安装,可升级等)
apt edit-sources 编辑源列表

相关文章

  1. 搭建LNMP环境V1.2(ubuntu16-php7)

    更新 apt install python-software-properties software-properties-common #添加APP apt update #更新软件包列表 安装依

  2. 在ubuntu12.04上部署edx

    我的服务器配置 ubuntu 12.04 64位 4核CPU 16G内存 部署 方法一 export OPENEDX_RELEASE=named-release/cypress wget https:

  3. Ubuntu16.04挂载新硬盘并格式化硬盘

    环境 Ubuntu 16.04.3 LTS (GNU/Linux 4.4.0-87-generic x86_64) 操作 查看硬盘 查看方法一 查看/dev下面的设备文件 Linux 硬盘识别: 2.

随机推荐

  1. 搭建LNMP环境V1.2(ubuntu16-php7)

    更新 apt install python-software-properties software-properties-common #添加APP apt update #更新软件包列表 安装依

  2. 在ubuntu12.04上部署edx

    我的服务器配置 ubuntu 12.04 64位 4核CPU 16G内存 部署 方法一 export OPENEDX_RELEASE=named-release/cypress wget https:

  3. Ubuntu16.04挂载新硬盘并格式化硬盘

    环境 Ubuntu 16.04.3 LTS (GNU/Linux 4.4.0-87-generic x86_64) 操作 查看硬盘 查看方法一 查看/dev下面的设备文件 Linux 硬盘识别: 2.