
准备
先更新本机内置的程序。
sudo apt-get update sudo apt-get upgrade再判断系统是否内置了add-apt-repository命令,如果没有执行下列命令安装
sudo apt-get install software-properties-common git安装一下git程序,很多地方会用到
sudo apt-get install git设置一下自己的git名字和邮箱
git config --global user.name "你的名字或昵称" git config --global user.email "你的邮箱" php添加最新php的源,然后安装php
sudo add-apt-repository ppa:ondrej/php sudo apt-get update sudo apt-get install php7.1 php7.1-common php7.1-fpm php7.1-dev sudo apt-get install php7.1-mbstring php7.1-xml安装结束之后就可以执行php -i命令查看到php-cli的信息
不过要配合nginx的话,需要用php-fpm来管理php的进程。
service php7.1-fpm start service php7.1-fpm stop service php7.1-fpm restart nginx直接安装nginx
sudo apt-get install nginxnginx的操作命令如下:
service nginx start service nginx stop service nginx restart查看nginx使用的config配置文件或者软重启的命令是
nginx -t nginx -s reload一般配置文件在/etc/nginx目录下。
不过要配置一个新的网站,不需要在nginx.conf里添加,只需要在sites-enabled文件夹下加一个对应文件即可(文件名随意)
cd /etc/nginx/sites-enabled touch demo上面的demo文件是随便命名,用vi打开
vim demo然后添加下面的内容
server { listen 80; server_name demo.com; root /home/www/demo/public; index index.html index.htm index.php; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/run/php/php7.1-fpm.sock; fastcgi_index index.php; include fastcgi_params; } }解释一下上面的配置:
独立的一个服务器配置需要用server{}包裹起来 listen 80表示监听80端口,也就是http访问的默认端口,其它端口在浏览器上需要输入端口号。 server_name表示绑定的是哪个域名。 root表示该域名访问到路径对应的实际文件夹 index表示域名的path为空的时候对应访问哪个文件,默认都是index.html、index.htm和index.php location /这里是对所有路径做路由重写,里面的try_files $uri $uri/ /index.php?$query_string;是laravel框架的路径重写配置。 location ~ \.php$是指访问所有后缀名带.php的路径时候,需要执行的操作,这里也就是配置php的fastcgi fastcgi里的最重要部分是fastcgi_pass,它代表nginx服务器如何与php通信,这里的unix:/run/php/php7.1-fpm.sock;是php7.1-fpm启动后生成的套接字文件,可以和nginx通信。 mongodb导入mongodb的公钥
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927看一下自己的系统版本是多少
cat lsb-release | grep 'description' -i如果是16.x的话执行
echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list如果是15或者是14的话执行
echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list安装mongodb
sudo apt-get update sudo apt-get install -y mongodb-org mongodb-org-server mongodb-org-shell mongodb-org-mongos mongodb-org-tools安装结束之后就能使用mongodb的server和本地shell了,不过先要配置一下。
默认配置文件是/etc/mongod.conf
storage: dbPath: /var/lib/mongodb journal: enabled: true systemLog: destination: file logAppend: true path: /var/log/mongodb/mongod.log net: port: 27017 bindIp: 0.0.0.0 #security: #authorization: 'enabled'这里的配置解释如下:
storage代表数据库存储在硬盘的地方,所以dbPath这个路径需要注意权限设置,让mongdb有权限可读可写。 systemLog代表的是mongodb日志存放配置。 net下的port代表mongodb的访问端口,默认是27017,bindIp如果不设置0.0.0.0,那么非本机无法访问。 security和它下面的都加了#号注释掉,这个是开启用户名和密码验证,暂时不开启。mongodb的操作命令如下:
service start mongod service stop mongod service restart mongod先启动mongod,然后输入mongo命令看是否能连接到本机mongodb服务器,如果不能,表示mongodb server没有正常启动,注意排查dbPath等路径的权限,例如可以设置数据库文件的owner
sudo chown -R mongodb:mongodb /var/lib/mongodbmongo命令启动shell之后,可以设置一下数据库的用户名密码
创建root级的超级用户,用户名密码可更改
use admin db.createUser({ user: "root", pwd: "123456", roles: [ { role: "__system", db: "admin" } ] })root级别的超级用户一般不会直接使用,针对单个数据库级别的管理员更实用。
假设数据库名为demo,那么创建一个demo的管理员
use demo db.createUser({ user: "demo", pwd: "abcdefg", roles: [ { role: "dbOwner", db: "demo" } ] })配置完毕之后可以用
db.auth("demo","abcdefg")来验证一下是否设置成功,返回1就是成功
然后再编辑/etc/mongod.conf文件,删除掉
#security: #authorization: 'enabled'之前的两个#号,service mongod restart之后,安全用户配置成功。
php扩展ubuntu源里没有php7.1-mongodb,所以需要自己安装
sudo pecl install mongodb这里的pecl命令是安装php7.1-dev的时候带来的。
扩展会自动下载并安装,不过开启扩展需要手动添加一下。
php-cli的配置文件在/etc/php/7.1/cli/php.ini
php-fpm的配置文件路径和php-cli不同,/etc/php/7.1/fpm/php.ini
echo "\nextension=mongodb.so" | sudo tee /etc/php/7.1/cli/php.ini echo "\nextension=mongodb.so" | sudo tee /etc/php/7.1/fpm/php.ini此时再重启php-fpm,就可以正常看到phpinfo里有mongodb了。
composer直接用php下载并安装composer
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" php -r "if (hash_file('SHA384', 'composer-setup.php') === 'e115a8dc7871f15d853148a7fbac7da27d6c0030b848d9b3dc09e2a0388afed865e6a3d6b3c0fad45c48e2b5fc1196ae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" php composer-setup.php --install-dir=/usr/sbin --filename=composer php -r "unlink('composer-setup.php');"安装结束后输入composer检查是否安装成功,其中安装地址指定为/usr/sbin,也可以设置为其它地方。
项目代码直接通过git clone https……下拉代码。
如果是laravel项目,需要进入项目之后,composer install一下。
并且配置好.env文件的环境,写上数据库账号和密码。
项目的完整路径要在nginx的/etc/nginx/sites-enabled/demo里写上,并加上自己想要访问的域名。
结束之后软重启nginx
nginx -s reload项目已经可以线上访问了。
开机自动启动可以通过修改 /etc/rc.local文件来管理启动项。
service mongodb start service php7.1-fpm start service nginx start