阅读 574

Linux 服务器即 LNMP 环境搭建(Git仓库上篇)

前言:上一篇写到Git仓库的搭建,有朋友说服务器还没搭建好,所以这里来一篇环境搭建的。

注:我搭建是Centos6版本以上的,Centos7以上有大的改变

一、配置防火墙,开启80端口、3306端口,删除原有的iptables ,添加合适的配置

rm -rf /etc/sysconfig/iptablesvim /etc/sysconfig/iptables复制代码

添加一下内容:

# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended
.*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT复制代码

:wq保存退出,重启防火墙使配置生效

/etc/init.d/iptables restart     centos 7.0以上执行  systemctl restart firewalld.service复制代码

关闭SELINUX

rm -rf  /etc/selinux/configvim /etc/selinux/config复制代码

然后添加一行内容:

SELINUX=disabled复制代码

:wq 保存退出

进行重启系统

shutdown -r now复制代码

注意:配置好防火墙必须重启系统

二、安装第三方yum源

安装下载工具

yum install wget复制代码

下载

wget http://www.atomicorp.com/installers/atomic复制代码

安装

sh ./atomic复制代码

更新yum源

yum check-update复制代码

三、安装Nginx

删除系统自带的软件包

yum remove httpd* php*复制代码

安装nginx

yum install -y nginx复制代码

设置nginx开机启动

chkconfig nginx on   Centos 7.0 以上执行 systemctl enable nginx.service复制代码

启动nginx

service nginx startCentos 7.0 以上 systemctl start  nginx.service复制代码

注:nginx启动可能失败,需要修改配置文件报错如下

Starting nginx:nginx:[emerg] socket() [::]:80 failed (97:Address family not supported by protocol)  [FAILED]复制代码

处理方法

vim /etc/nginx/conf.d/default.conf复制代码

listen       80 default_server;
listen       [::]:80 default_server;复制代码

改为:

listen       80;#listen       [::]:80 default_server;复制代码

保存退出:wq,重启成功

启动成功后,打开浏览器,输入ip地址,可看到nginx欢迎页

四、安装PHP

检查当前安装的PHP包

yum list installed | grep php复制代码

如果有安装的PHP包,先删除他们,如:

yum remove php.x86_64 php-cli.x86_64 php-common.x86_64复制代码

配置安装包源:

Centos 5.X 
 rpm -Uvh http://mirror.webtatic.com/yum/el5/latest.rpm
CentOs 6.x  
 rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm
CentOs 7.X  
 rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm  
 rpm -Uvh   https://mirror.webtatic.com/yum/el7/webtatic-release.rpm复制代码

注:不同版本服务器需要配置对应的安装包,如果想删除上面安装的包重新安装

rpm -qa | grep webstaticrpm -e  [上面搜索到的包即可]复制代码

执行安装

yum -y install php56w.x86_64
yum -y --enablerepo=webtatic install php56w-devel
yum -y install php56w-gd.x86_64 php56w-ldap.x86_64  php56w-mbstring.x86_64 php56w-mcrypt.x86_64 
yum -y install php56w-mysql.x86_64 php56w-pdo.x86_64 php56w-opcache.x86_64复制代码

注:每条命令看到Complete!才成功

安装PHP FPM

yum -y install php56w-fpm复制代码

设置php-fpm开机启动

chkconfig php-fpm onCentos7.0以上   systemctl enable php-fpm.service复制代码

启动php-fpm

/etc/init.d/php-fpm startCentos 7.0 以上 systemctl start  php-fpm.service复制代码

注:如果想更换到php5.5或5.4版本,直接把上面的56w换成55w或者54w就可以了

五、 安装 MySQL

安装

 yum install -y mysql mysql-server复制代码

启动MySQL

/etc/init.d/mysqld start复制代码

设为开机启动

chkconfig mysqld on复制代码

拷贝配置文件(注意:如果/etc目录下面默认有一个my.cnf,直接覆盖即可)

cp /usr/share/mysql/my-medium.cnf /etc/my.cnf复制代码

为root用户设置密码

mysql_secure_installation复制代码

回车,根据提示输入Y,输入2次密码,回车,根据提示一路输入Y,最后出现:

Thanks for using MySQL!复制代码

MySql密码设置完成,重新启动 MySQL:

#重启

/etc/init.d/mysqld restart复制代码

停止

/etc/init.d/mysqld stop复制代码

启动

/etc/init.d/mysqld start复制代码

六、配置nginx

我存放的nginx路径地址

[root@iZ2zeftluibm3hesz36v3tZ conf.d]# pwd
/etc/nginx/conf.d
复制代码

[root@iZ2zeftluibm3hesz36v3tZ conf.d]# ll
total 20
-rw-r--r-- 1 root root 1501 Feb  9 10:54 admin.shop.conf
-rw-r--r-- 1 root root  434 Dec 25 20:39 default.conf.bak
-rw-r--r-- 1 root root 1419 Feb  8 17:19 web.shop.conf
复制代码

因为nginx.conf里面

include /etc/nginx/conf.d/*.conf;
复制代码

   在/etc/nginx/conf.d下面新建一个.conf的文件 把这个东西复制进去

  {
              listen  80;
              server_name    解析域名;
              index index.php index.html index.htm default.html default.htm default.php;
              client_header_buffer_size 16k;
              large_client_header_buffers 4 32k;
              client_max_body_size 300m;
              client_body_buffer_size 128k;
              location / {
                        root               项目路径;
                        index              index.php;

                       proxy_connect_timeout 3000;
                        proxy_send_timeout 3000;
                         proxy_read_timeout 3000;
                        proxy_buffer_size 4k;
                        proxy_buffers 4 32k;
                        proxy_busy_buffers_size 64k;

                        if (!-e $request_filename) {
                        rewrite ^/index.php(.*)$ /index.php?s=$1 last;
                        rewrite ^(.*)$ /index.php?s=$1 last;
                        break;
                                                   }
                          }

              location ~ \.php$ {
                        root               项目路径;
                        fastcgi_pass   127.0.0.1:9000;
                        fastcgi_index  index.php;
                        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                        include        fastcgi_params;
                               }
}
复制代码

:wq 保存退出

七、 配置php-fpm

vim /etc/php-fpm.d/www.conf复制代码

将用户和用户组设置为nginx,如:

修改用户为nginx

user = nginx复制代码

修改组为nginx

group = nginx复制代码

八、开始测试

cd /var/www
vim index.php
复制代码
添加以下代码

<?php
 phpinfo();
?>
:wq!
复制代码
保存退出

#设置权限

chown nginx.nginx /var/www -R复制代码

#重启nginx

service nginx restart复制代码

#重启php-fpm

service php-fpm restart复制代码

这时你的mysql数据库不能远程连接的,此时你应该授权一下

USE mysql;  GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;  FLUSH PRIVILEGES;复制代码

注意:GRANT ALL PRIVILEGES表示授权所有权限,上面*.*中第一个*是授权可以访问的数据库名称, root是用户名, %表示授权所有的IP地址。

到这里就大致写完了,网上搭建服务器环境的很多,我也是综合各个前人经验,加入一些自己的理解,希望对有需要的朋友能有一点小小的帮助。这里推荐我上一篇Git版本库的搭建哦。

哈哈,知识在于分享,愿大家一块成长。



关注下面的标签,发现更多相似文章
评论