阿里云centos7 LNMP开发环境搭建
我购买的阿里云是centos7.3的.在Linux下,搭建服务最好当然是LNMP了,毕竟PHP是世界上最好的语言(开玩笑了 0.0)。当然LAMP也很好,我就是Apache从转投Nginx的,就因为Nginx配置简单,资源占用低.当然Apache也有他的优点,孰优孰劣,还是要根据自己的需要取舍吧。言归正传,LNMP是Linux、Nginx、MySQL(Mariadb)、PHP。在centos上,默认的数据不再是MySQL了,成了Mariadb,这是MySQL的社区版,基本上是完全兼容MySQL的,对普通开发者而言,基本感觉得不到差别的。开始搭建环境 安装Nginx 安装Nginx,在Linux上可是使用yum安装Nginx,也可以编译源码安装,鉴于我购买的服务器性能的原因,我还是用yum安装吧. 使用yum search nginx 查看是否Nginx包,阿里云的centos默认是有Nginx包的. 使用yum -y install nginx 使用-y会自动解决依赖问题 等待安装完成,没有报错的话,安装成功了。使用service nginx start开启Nginx服务,使用 systemctl enable nginx把Nginx设为开机启动。使用curl 127.0.0.1看一下,返回html代码,说明成功了 安装Mariadb或者MySQL 安装Mariadb或者MySQL,在centos中,Mariadb可以直接使用yum安装。由于centos的yum中默认没有MySQL的源,必须手动添加MySQL源,才能安装。 安装Mariadb: yum -y install mariadb mariadb-server 不出意外的话,会成功安装. service mariadb start开启Nginx服务,使用 systemctl enable mariadb把mariadb设为开机启动。 简单配置Mariadb 输入mysql_secure_installation1.显示 Enter current password for root (enter for none): 第一次运行直接回车 2.Set root password? [Y/n] 是否设置root用户密码,输入y并回车或直接回车3.New password: 设置root用户的密码4.Re-enter new password: 再输入一次你设置的密码5.Remove anonymous users? [Y/n] 是否删除匿名用户,回车6.Disallow root login remotely? [Y/n] 是否禁止root远程登录,回车,7.Remove test database and access to it? [Y/n] 是否删除test数据库,回车8.Reload privilege tables now? [Y/n] 是否重新加载权限表,回车 mysql -uroot -ppassword 登录测试一下 centos中的Mariadb版本是5.5,对标的MySQL5.5版本,最新的稳定版Mariadb是10.3,怎么安装最新版的Mariadb等以后有时间再更新 安装MySQL: 添加MySQL的yum源wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm rpm -Uvh platform-and-version-specific-package-name.rpm添加MySQL 现在默认会安装MySQL8.0版本,如果想要5.7大的话 1.yum-config-manager --disable mysql80-community 2.yum-config-manager --enable mysql57-community 开始安装yum install mysql-community-server service mysqld start开启MySQL服务, systemctl enable mysql 设为开机启动 这时候MySQL是没有没密码的,需要找到密码sudo grep 'temporary password' /var/log/mysqld.log能看到密码8.登录,mysql -uroot -p 看到的密码 修改密码 ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpassword'; 附上MySQL官网的安装教程传送门 安装php php可以使用源码安装,也可以使用yum安装,鉴于我的服务器的性能,还是选择了yum安装。yun安装首先要添加源。 配置yum源 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 安装php7.2和需要的拓展 yum -y install php72w php72w-cli php72w-common php72w-devel php72w-embedded php72w-fpm php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml 开启php-fpm 服务, service php-fpm start systemctl enable php-fpm设为开机启动 好了LNMP需要的软件都安装好了,简单配置一下 配置 Nginx配置 cd /etc/nginx/ vim nginx.conf 修改配置文件 server { listen 80 default_server; listen [::]:80 default_server; server_name _; root /home/www/default; return 500;#我禁用了ip访问 # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } location ~ \.php$ { root /home/www/default; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } php相关的部分是这里 location ~ \.php$ { root /home/www/default; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } 重启Nginx,service nginx restart好了去 Nginx的的root目录里新建一个info.php文件,测试一下 <?php phpinfo(); ?> 访问一下你的服务器看一下,能看到php的信息,说明已经配置好了 到这里,LNMP开发环境已经搭建好了,可以愉快的开发了。 在实际应用中,一台服务上一般不会只有一个网站,一台服务器运行多个网站,最靠谱的办法就是建立多个虚拟主机,使用不同的域名,访问不同的网站。这个问题,等有空再更新, 下次更新,Nginx虚拟主机的配置