Fork me on GitHub

centos使用--centos7.3配置LNMP

1 源的配置

1.换成国内的源,可以提高下载速度

首先备份/etc/yum.repos.d/CentOS-Base.repo

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup  

下载对应版本repo文件, 放入/etc/yum.repos.d/(操作前请做好相应备份)

cd /etc/yum.repos.d/  
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo  

运行以下命令生成缓存

yum clean all  
yum makecache  

参考地址: http://mirrors.163.com/.help/centos.html

2.添加更多的源

CentOS由于很追求稳定性,所以官方源中自带的软件不多,因而需要一些第三方源:epel是对官方源的补充,可以提供更新更丰富的rpm包;官方不提供php7的rpm包,php7有两个源可以选择,一个是webtatic提供的,也就是php70w,另一个可以使用remi源,我使用的是webtatic提供的
安装相应的源(webtatic依赖epel)

CentOS/RHEL 7.x:

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm  
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm  

2 安装软件

注意:前提是有可用的源,出于安全和稳定等原因,有些软件包是本身的源不具备的

2.1 安装php7

yum install php70w php70w-fpm php70w-mysql  

php -v //查看是否安装成功

其它一些可以安装的扩展等

yum install php70w-devel 
yum install php70w-pdo php70w-xml php70w-mbstring

2.2 安装nginx

yum install nginx  
nginx -v   

2.3 安装mysql

yum install mariadb-server -y  //安装  
systemctl start mariadb.service  //启动  
systemctl enable mariadb.service  //设置开机启动  
mysql_secure_installation  //初始化设置  

2.4 安装vsftp (ftp登录配置)

yum install vsftpd  

相关操作

禁止匿名登陆
vim /etc/vsftpd/vsftpd.conf 将配置文件中第11行

anonymous_enable=YES  
anonymous_enable=NO 

允许root账户登录,编辑/etc/vsftpd/user_list和/etc/vsftpd/ftpusers两个设置文件脚本,将root账户前加上#号变为注释。(即让root账户从禁止登录的用户列表中排除)

开启vsftpd

service vsftpd start  

本地客户端filezilla,百度自行下载配置

3 开机启动设置

systemctl enable mariadb.service  
systemctl enable php-fpm.service  
systemctl enable nginx.service  
systemctl enable vsftpd.service  

相关操作

查看开机启动情况

systemctl list-unit-files  
systemctl list-unit-files | grep fpm  

设置为开机启动

systemctl enable mariadb.service  

取消开机启动

systemctl disable mariadb.service  

4 其它一些配置

4.1 git的设置

下载git

yum install git   

生成密钥,位置在~/.ssh文件夹下

ssh-keygen -t rsa -C "your_email@example.com"  

全局配置

git config [--global] user.name "name"
git config [--global] user.email "email address"

4.2 mysql本地登录

步骤:
登陆mysql

mysql -uroot -p123456

切换到mysql这个数据库

mysql> use mysql;

查看root用户配置

mysql> select host,user from user where user='root';  

如果查询结果中不包含以下记录,请添加,否则请忽略次步骤

+--------------------+------+
| host               | user |
+--------------------+------+
| %                  | root |
+--------------------+------+

添加方法:
mysql> update user set host = '%' where user = 'root' and host = '127.0.0.1';

+--------------------+------+
| host               | user |
+--------------------+------+
| %                  | root |
| ::1                | root |
| localhost          | root |
| vm\_33\_19\_centos | root |
+--------------------+------+

使配置生效

mysql> flush privileges;  

配置完成,客户端重新登录成功;

4.3 基本nginx配置

server{
  #分别写了www和不带www的域名
  server_name www.zhengde.site zhengde.site;
  listen 80;
  #工程根目录
  root /var/data/blog/;
  charset UTF-8;
  #日志文件位置,自己选择
  access_log /var/log/nginx/blog/access.log;
  error_log /var/log/nginx/blog/error.log;
 
  index index.php index.html index.htm;
 
  #error_page 500 502 503 504 404 /missing.html;
  #error_page 403 =404 /missing.html;
 
  #主要作用是xxxx/index.php/控制器/方法,一般的index.php是隐藏的,不写这句就找不到了
  location / {
    try_files $uri /index.php$is_args$args;
  }
 
  location ~ \.php$ {
    #这个要看你监听的位置
  fastcgi_pass unix:/run/php/php7.0-fpm.sock;
  
  #二选一,第一种写法
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    #二选一,第二种写法,但是需要在外层创建 fastcgi.conf文件
    # include fastcgi.conf;
  }
}

4.4 certbot安装(用于生成https证书,不用可忽略)

sudo yum install certbot-nginx  
certbot certonly --webroot  -w /data/blog -d xxxx.cn  -w /data/blog -d www.xxxx.cn  -w /data/blog -d xxxx.cn  -w /data/blog -d www.xxxx.cn  
posted @ 2017-11-07 08:56  archer-wong  阅读(285)  评论(0编辑  收藏  举报