78 lines
1.9 KiB
Markdown
Executable File
78 lines
1.9 KiB
Markdown
Executable File
# Website<br/>
|
|
|
|
This is all the code for the website (deadvey.com)<br/>
|
|
|
|
# Node<br/>
|
|
|
|
The nodejs code that is executed in the background is in /node<br/>
|
|
You can execute the node code in crontab (`crontab -e`)<br/>
|
|
eg:<br/>
|
|
```cron
|
|
* * * * * node /var/www/html/node/makeblogs.js
|
|
* * * * * node /var/www/html/node/newsletter.js
|
|
* * * * * node /var/www/html/node/updatefeed.js
|
|
|
|
etc...
|
|
|
|
```
|
|
|
|
# Newsletter<br/>
|
|
|
|
If you want to add members to the newsletter, I store a file as /etc/newsletter_members.js:<br/>
|
|
|
|
```js
|
|
let members = ["member1@gmail.com","member2@outlook.com"]
|
|
|
|
if (typeof module !== 'undefined' && module.exports) {
|
|
module.exports = members;
|
|
}
|
|
|
|
```
|
|
|
|
# Apache2 and Node.js Integration
|
|
|
|
This project utilizes Apache2 as a reverse proxy to handle incoming web traffic and forward requests to a Node.js application.
|
|
|
|
## Configuration
|
|
|
|
To set up Apache2 as a reverse proxy for your Node.js app:
|
|
|
|
1. Start your Node.js application (/node/app.js) on port 8003. You can run the application in a tmux session using the command:<br/>
|
|
|
|
|
|
```shell
|
|
$ node app.js
|
|
```
|
|
|
|
|
|
2. Edit the Apache configuration file /etc/apache2/sites-enabled/000-default.conf and add the following lines to forward requests to the Node.js app:<br/>
|
|
|
|
|
|
```
|
|
ProxyPass / http://localhost:8003/
|
|
```
|
|
|
|
|
|
3. If you have other sites or applications running on Apache2 that should not be proxied to Node.js, you can add exceptions like this:<br/>
|
|
|
|
|
|
```
|
|
ProxyPass /wordpress !
|
|
```
|
|
|
|
Replace /wordpress with the appropriate path for your exception:<br/>
|
|
|
|
## Testing
|
|
|
|
To verify that the Node.js application is running and accessible through Apache2, you can use the curl command:
|
|
|
|
|
|
```shell
|
|
$ curl http://localhost:8003
|
|
```
|
|
|
|
|
|
This should return the response from your Node.js application.
|
|
|
|
Feel free to customize and expand this documentation based on your specific project requirements and additional details you would like to include.
|